I've been in IT for 25 years. I'm a consultant that is often retained by some of the largest organisations around the planet. I have degrees in Electrical Engineering and Computer Science. My speciality is performance Engineering of distributed systems. And I don't live with my parents.
I can confidentially say I do know what I am talking about in this regard. :)
Here is the current estimate of installed and running XP systems. In excess of 500,000,000. You have stated that you believe there are hundreds of thousands of systems that as you say can not be upgraded. Lets out that at an even 500,000 systems. That is 0.1% of the install base pessimistically can't be upgraded. Now world wide the estimated number of PC operating is, 1,630,000,000. So that 500,000 is now actually 0.03% of the world wide PC install base can not be upgraded.
This is considered an edge case in my profession. And extreme edge case. One of the principles in making large distributed systems ( The internet being the biggest ) faster, more efficient, more robust, less error prone is to remove far flung edge cases. As the cost of maintaining edge cases is ridiculously huge. It's because you are not just maintaining the edge case in isolation. You are also maintaining all of the potential interaction points associated with the edge case. The cost being almost invisible on a per node basis becomes and astoundingly large cost when you take into account the whole system. These costs are worn by everyone involved, not just Microsoft. Even those with up to date systems still pay extra to fund the maintenance of ageing architectures.
And you are correct, newer does not mean better all the time. However if you restrict your vision to just the function of the device you care about. It is easy to say newer is not necessarily better. The problem is you took a far too narrow look at the problem space. You need to accept the fact that the function you care about in the device is not the only function it is capable of doing. In the Case of windows XP the number of "other" potential functions is very large. If you include in the list of functions, malware, virus's & trogans that are designed not only to disrupt that system but to spread and further disrupt others you realise that if you replace the device with all it possible functions with a more robust device you will see that the sum total of the negative functions drops. Which in turn reduces overall impact on adjacent systems. So now we clearly see that the impact of the 0.03% of systems is vastly greater than it's diminutive count. In some cases 0.03% of cases it is possible that the cared about function when upgraded is either dimensioned or non-functional. But the net impact is still positive.
I have done analysis after analysis and I have very very rarely found a system that can not be migrated. The cost is no that much usually. Dramatically less that what is thought to be the cost. It's just that people are just too afraid to try. For what every reason. Almost always they are afraid of failure.
You know what would be sensible. How about placing all the code of your un-upgradable application in the public domain as well as the OS. I'm very much in favour of that. Linux being a huge success in this regard.
What you have to start really worrying about is the physical age of the system you so dearly depend on. If it's pushing 5 years plus I would start to worry. If it's 10 years I would start to panic. Once system components start to burn out you are really faced with a stop the presses kind of challenge. Because that's exactly what's going to happen, business stops. In most of these cases backups and proper documentation of the critical system are also missing. Now you are really screwed.
If you are in a business that is purchasing customer software or highly specialised software for a purpose you have to be including in the contract that the source of the software is to be handed over in the case where the software is either discontinued or the organisation owning the code goes bankrupt. To not have this clause in your contracts is just plain stupid.
At the end of the day. The planet has had YEARS to get ready for this. It is only the completely naive , stupid, or cheap that are sitting in this position where they can't upgrade. I feel nothing for the people or organisations that did nothing to prepare for this point in time. I'll of course help them resolve their issues, as that is what I do.
Reading is one of my skills. I have read the sob stories of people and organisations that have not prepared. Still I have no remorse for those who think they have been painted into a corner by the evil empire. It all just sounds like "But it's not my fault" cries to me. If you are in this position it is absolutely your fault. Take ownership of the situation and do something about. Stop asking for a warranty repair YEARS AND YEARS after it expired.
You should feel extremely thankful that MS did extend support this long. They didn't have too. You had a number of extra years to fix the issue. But sadly for 0.03% of system you are now stuck.
Have fun :)