Is it true that Microsoft skipped Windows 9 because too many applications check for "Windows 9*", and would have thought that they are running on Windows 95 or 98?
It strikes me as plausible. If the devs thought that Microsoft was going to keep their year based naming system then it wouldn't be a problem for another 100 years, by which point they would be long dead and it would be someone else's problem. The fact that there were two versions to check also meant that the shortcut of only checking the first digit is understandable. Also, if the version strings included extra cruft, like Windows 98SE2 then stopping the check early makes sense over trying for explicit string matches.
Of course Windows 10 was supposed to be the last version ever in Apple OSX style, but now we have beta for Windows 11. The lesson is: never trust what Microsoft tells you about their intentions.
None of the native APIs return the version number as a string, and to see a version > Vista you need to declare the minimum supported version anyway. But I can see this being a problem in some scripted languages, maybe.
Personally I believe they wanted to avoid Windows NEIN, or it's some marketing BS to jump a number and pull up to OS X (10).
Of course Windows 10 was supposed to be the last version ever in Apple OSX style, but now we have beta for Windows 11. The lesson is: never trust what Microsoft tells you about their intentions.