Aside from the complexity of all these different versions of Windows, what about the problems with supporting your software on them?
First you have to determine if it's 64-bit or 32-bit -- after you get past that you need to determine which edition is running specifically.
If it's Home Basic then only 5 SMB connections are allowed but if it's Home Premium then it's 10 connections. Maybe that's not your problem, if your app is CPU intensive then the user won't have a second CPU without Business edition.
Of course, if you're doing any multilingual work you will need to be on Enterprise or Ultimate.
Do you need your application to use a web server for anything? What about sending a fax or scanning something? Better figure out which version of Windows you need and detect on install before you run into trouble.
Rather than have such a complex lineup, with such stringent upgrade paths, MS would do better to have an app store level functionality where you could simply install the additional programs you need.
Are you running low on SMB access? Spend $10 and get another 10 connections! Do you need to scan something, spend $25 and get the Windows scanner support.