I checked these suggestions from curiosity, nothing else. I have come to the following conclusions:
1) the transform(x, "$999,999") and variants aren't actually making VFP print in currency format. The $ is being reproduced as a literal. This may (or may not) be why you get the .00.
I think the correct format for what you want is
>Transform(x, "@Z$ 999,999")
Note the space -after- the $ sign.
Actually, I have a small advantage: when I print currency, I get a £ (pound) sign if it works. Your formats gave me a dollar sign, indicating the literal.
Hope this isn't too late!
MSS
Regards
Mike