If, however, Novosibirsk is 7 hours from GMT and Almaty is 6 hours from GMT, then Microsoft's table is wrong and needs to be updated to separate Almaty and Novosibirsk.
Hmmm. You're right and the only think I can do for now is open a bug in the Microsoft's bugzilla (or equivalent).
"N.Central Asia Standard Time" used to be displayed as "(GMT+06:00) Almaty, Novosibirsk", but "Almaty" was removed from the display name by December 2009 cumulative time zone update for Microsoft Windows operating systems [http://support.microsoft.com/kb/976098]. Later, the UTC offset of the zone had been changed to +7 by August 2011 update [ http://support.microsoft.com/kb/2570791]. So, although some old MSDN documentation may still have the out of date information, Windows time zone data is up-to-date for this one. I'm maintaining a mapping data between the IANA tzids and Windows time zones in the Unicode CLDR project and review the data about quarterly basis [ http://www.unicode.org/repos/cldr/trunk/common/supplemental/windowsZones.xml ]. It looks Windows 8.1 start providing an API returning an IANA Time Zone Database ID [ http://msdn.microsoft.com/en-us/library/windows/apps/windows.globalization.c... ], but I did not try it yet. -Yoshito