Things like kUSD or M$ appear to have come from science - it's putting an SI prefix to a unit. Personally, when I write M$, I mean one megadollar, not 1 milion dollars.
Oh, I always thought that you write a numeral before the dollar sign... Thanks for pointing that out. It differs between currencies - for example, british pounds are written before numeral (£42), but polish złoty are written after (42zł).
Billion in USD in the United States is 10^9.
Gigadollars is a made-up SI-ified term in the US
G is short for grand, like "that car costs 100G's" for a $100,000 car, making it further unacceptable.
Long story short, to be most easily understood, it's a good idea to use the vernacular of the area
[edit: changed asterisk-asterisk to ^. Apparently two adjacent *'s aren't recognized]