I don't agree on the work in process. The framework versions should be able to co-exist and if a particular version of VS or SQL or whatever relies on a specific build it should install it and use that, but it shouldn't crash and burn because a nother version is there. Dependencies are one thing, versioning those dependencies are another.
It's a giant house of cards and it's scary to think about. Think about what will happen in say 5 years, when you want to debug your 1.1 application and you don't have a copy of VS.NET 2003 around anymore to debug that app because that's officially the only way to work and debug that version. This is crazy logic... (a dev environment that works only with one version of the framework that is).