I see this also as a way of getting developers to stop being so damned lazy. If I were MS I'd start stripping deprecated API calls out of the OS immediately - force anyone who's still running an ancient code base that they refuse to maintain to virtual mode. This might light a fire under their asses to get "Windows 7 compatibility" (i.e. no lame dead API hooks) higher priority.
Back-compat has always been the main force that held MS back, I'm glad they're doing something about it.
If MS strips out deprecated APIs, won't they have to include virtualised XP with all new versions of Windows, and not price discriminate on it? They don't want horror stories of Aunt Tilly not being able to run her favourite apps on her new PC and blaming Windows.
The thing is, Aunt Tilly is likely to run apps like IE, Outlook, Office, and Firefox, all of which are run by teams that are professional enough to keep their code up to date. It's unlikely that these guys can't have "Windows 7 compatibility".
The horror stories will come from enterprise software, where companies are running Win3.1 binaries even to this day, and where developers are even lazier.
And there's no reason to strip out WinXP compatibility per se from Windows 7 - IMHO the OS needs to keep native back-compat for at least the last couple of generations - but anything older shouldn't be in the code base.
Back-compat has always been the main force that held MS back, I'm glad they're doing something about it.