That's sort of the flip side of the same coin. Associating specific runtime versions with apps at build time reduces the bug surface. They don't have to worry about breaking last year's apps with this year's changes to the standard libraries.
And yes, I agree it sucks. But that's the world of proprietary software. I think MS has done this about as well as anyone could.