In the world of internationalization, CLDR (Common Locale Data Repository) seems to be the ultimate database and as I learned, many systems derive their locale data from that.
However, I compared CLDR data and the locales in Windows 7 and currency formatting is different in many cases.
For example, Canadian dollar in locale "English (Canada)" is formatted as follows:
Windows: $1,235.00, -$1,235.00
CLDR...: $1,235.00, ($1,235.00)
Or let's take Spanish (Colombia) and Colombian peso:
Windows: $ 1.235,00, ($ 1.235,00)
CLDR...: $1.235,00, -$1.235,00
Note variations in negative numbers and spacing. What should I think of this? Most likely there are more such differences. Are both formatting rules OK, or could it happen that one is perceived by local users as wrong?
Although it is not programming related, I will try to answer your question.
I once asked on CLDR's internal mailing list about (incorrect) Polish date formats and suggested changes to it providing legal (Polish Standard) reference. The answer was that CLDR tries to follow national standards, but sometimes it might be a good idea to use commonly used format instead.
There are two answers to your question:
As for Microsoft, I believe they are trying to follow national regulations and standards.