Could have, would have, should have.
I'm sorry but this is silly. You're basically asking them to endlessly support an old operating system because it's remotely possible to port new APIs to it, because an entirely different API can do it too.
Well newsflash, DirectX is not OpenGL and whether we like it or not the former has been the standard for Windows gaming for quite a while. Sure Microsoft could do a lot of things, but in the end they decided to "catch up" with Direct3D 10 with the new kernel and driver model of their new operating system in mind without having to tie it back into their "expiring" previous OS, and it's idiotic to blame them for that. Windows 2000 was a lot closer to XP than Vista and even that was eventually outdated for games because it stopped getting the newer DLLs with all the little changes and advances in minor DirectX releases.
I severely doubt that the whole DX10 thing was just a PR stunt to get people to shell out for a new OS and hardware, because realistically that wouldn't work and everyone could already see that back then - the enthusiast market is tiny compared to Joe User and corporate users who have zero interest in the latest DX10 games/hardware. So the majority of Windows users didn't care, and the smarter enthusiasts knew that eventually they'd upgrade anyway and new cards will support the API that wouldn't be used widely in games for years to come.
So in terms of conspiracy theories yours is pretty weak.