The major thing that seems to indicate version is the application compatibility manifest (as noted, GetVersionEx will return the correct answer if 8.1 compatibility is indicated there). I can't say I know all the ins and outs of this, but I'm thinking of playing around.
If it is run on Windows 8.1 or Windows 10, then those OSes should default the program to Windows 7 compatibility. Consequently, it should return version numbers indicating so - the maximum of 6.2 (logically) unless the 8.1 or 10 compatibility line is present. Aug 4, 2015 - Andy's Blog – For all developers that got stuck at Delphi 2007 and who want to upgrade to Windows 10 can now use the special “Windows 10. The Issue with Delphi Runtime Packages and Windows 10 Creators Update This is a rather devastating problem for me. All my programs use runtime packages and ask all my customers not to update win10, will not be easy.