Except when it, of course, isn't. $10M is certainly not ten megadollars.
Even science isn't that consistent about it. The SI base unit for mass is the kilogram. Yet we don't have megakilograms. We have megagrams, but nobody uses them. Instead we use tons. Somehow kilotons and megatons are used though.
If we're willing to accept the above then why couldn't we have stuck with the powers of 2? Digital information at some level is going to become base 2.
This reminds me of something I was unaware of until very recently; the decibel (dB), is one tenth of a Bel. The discussion was that you'll never confuse a B(byte) with a B(bel) because we never specify 10dB as 1B, and we almost never need to specify a 10th of a byte.
But back to your point - we use base10 for everything but RAM. So if we'd stuck to one system to avoid confusion, RAM probably wouldn't have won.
The unit of currency is the dollar. There is no units of currency that corresponds to 1M dollars.
The SI system of units devised a systematic way to define derived units that reflect a certain amount expressed in the base unit.
Currency don't have the benefit.
Money is not covered by S.I./metric units anyway, so not sure what's the point of this argument.
And even at that, while M here is the "mega" unit, the value 10M is still 10 million (1010^6) dollars (not 102^20 dollars).
M$10 looks kind of clumsy, though.