The OS detections appear ambigious.
For example, in MSI Code:
Get System Settings Windows 2000 into VAR
Returns TRUE on WinXP
So how can I really detect when I am on XP? To my mind OS detection should be far more explicit:
NT 4.0 (NT4)
NT 5.0 (Win2K)
NT 5.1 (WinXP)
NT 5.2 (Win2K3/XP x64)
NT 6.0 (Vista)