This "convulted version checking method" is the default way to do it with Java, I'm not sure if there's any other programming languages that do it as well.
It's insane to check version numbers as strings. I guess the JDK is assuming you're not actually doing anything important with those properties (eg, just writing them to a log).
Python for example wraps GetVersionEx appropriately with sys.getwindowsversion()
No. He said that it was the 'default' way of doing it. Yes, it has happened X times, that does not mean it's the default way of doing it. Maybe there's some other method which is done a lot more often and hence should be considered the 'default' way.
Python for example wraps GetVersionEx appropriately with sys.getwindowsversion()