Okay, so the compatibility profile stuff mainly deals with userland stuff like the registry and not the kernel? I thought it was some kind of emulation layer. Didn't know that WDM existed back then. Always fun to learn new things.
Although, I think Microsoft would've been more successful in the long run if they put all their energy into NT from the start. Developing an operating system is no small task, and it seems wasteful to dedicate many of their talented programmers to Win9x when they should've instead focused on making NT fully backwards compatible (earlier), and on improving that code base, adding features etc. I think that's what Apple did right with the transition to OS X. They immediately put all their focus on it, forcing third-party developers to simply port their programs to the new OS or go extinct. I think sometimes it's right to be an asshole, if it leads to better results.
Microsoft being "nice" to everyone seems to have resulted in a lower quality system, since they have to keep all the ancient bugs and bad design decisions that old programs depend on to run properly. Sure, it's backwards compatible and that's great, but it also runs like shit, so maybe it's not so great after all.
That's one of the things I like about Linux. They're not afraid to change things if it leads to better performance or stability. Other programs can adapt or die. To be honest, I think that's the way it should be.
If you just constantly babysit third-party developers and give them infinite leeway, then they're going to get lazy and everyone comes to expect you to remain compatible with their lousy code, rather than them fixing their code and making it run properly.