Because if one queries the version of Windows 10 it will return 'Windows 10', rather than 'Windows 9'...
If one parses that return, taking the first 11 chars (or just the 11th char), 'Windows 9' and 'Windows 98', and 'Windows 95' would all return 'Windows 9' (or '9'). Thus a batch made to work in Win9x-Win7 will think it is on a Win9x box, not a Windows 9 box, and do stuff that may not be good.
Interesting. Why would people have written it to look at only the first character of the version in the first place? 98 vs. 95 would have hosed that already, wouldn’t it? Plus, why are people not using the decimal version number (2K = 5.0; XP = 5.1, Vista = 6.0, W7 = 6.1, etc.)? Why the heck would they go with the alpha name?