Java had tons of capability problems when Oracle changed a string in a copyright file unrelated to the version after acquiring it from SUN.
Keep in mind I have not written java code for a long time now. But there was a method to check I think in java.lang somewhere.
Want to know why these apps failed? They used RMI to bypass the platform and use win32 apis to go check strings in c:\program files\jre etc or they use WMI to check the owner of the copyright. Instead of using a =, the incompetent programmers used an "==" and would call a break writeln (This program requires java 1.4.2 to run etc)
This was terrible and a ton more work not to mention broke compatibility with Linux and MacOSX for no reason at all?? My guess is these were corporate crap anyway that sent IE 6 specific CSS for these web apps anyway.
It is what you get when you go H1B1 visa holders.
My point is you would be shocked at all the garbage that goes and yes I can see poorly written MFC apps written in VC+ 4.2 doing a string check for Windows 9.x and printing out "Upgrade to Windows2000 Please!". If it happened in Java I am sure it can happen elsewhere