It's because 0901 is larger than 10. The only numerals in "10xx" are 10. According to the link you found, it seems like the OS is sorting on the characters that can be considered numeric. In the older days, the filenames were just sorted alphabetically, it seems. That carries its own anomalies.
It looks like it is (or used to be) possible to change a registry entry to get the old behavior, but this probably isn't the best idea. I'd suggest putting dashes between the number groups, which will get closer to what you probably be willing to live with. It's what I have done for a long time, and I haven't notice my image files coming up in strange orders:
1990-09-01
1990-09-09
1990-10-02
1990-10-30
1990-10-xx
1990-11-01
Using the dashes makes the numerical comparisons to be group-by-group, as best as I can see. The example above sorted the same when I did a numeric and an alphabetical sort using EditPlus, so that's good too.
It also means that the file names don't have to be quoted if you type them on the command line sometime.
[Later - I just realized that you must be talking about a large number of files that you already have. So what I said above may be so, but it won't actually be helpful since you wouldn't be renaming all those files from the past. Sorry! I think there are file renaming utilities. Maybe one of them could help.]