Further, Microsoft can support Windows XP, they just want more $$$ to do it (so, if they can do it for one company, and the goods they're selling are infinite, why can't they for all the rest?). If they offered a path to upgrade that didn't cost an arm and a leg, they wouldn't see this kind of lingering on XP that they do.
The current "upgrade" path is one of reinstall from scratch.
If they spent a little more time streamlining their upgrade process and provided proper support for older binaries, maybe. Try to run a Win16 binary on Windows Vista+ and see what happens - hell, even binaries officially supposed to run under Windows 8 won't.
Not just Win16 binaries are affected. Also refusing to run can be less of a problem than running, but doing different things some of the time. Desling with such software can rapidly become expensive.