, AndyC wrote

developers get tiered version checks wrong, because it's just too easy to get wrong. 

Which is why Microsoft invented VerifyVersionInfo:


Sadly it's more complicated and less well named than GetVersion and GetVersionEx, so it tends not to get used by the applications that are getting it wrong Sad