A lot changes from version to version as defects get resolved and enforcement of mocks gets more strict, so you're going to find that a lot of the tests that used to pass in 3.7.1 won't pass under 4.2.4 (the latest)... and (at least in my experience) it's mostly due to incorrect mock setup that the older version "let slide" but the newer one won't let you be as lax about.
If all of your projects are in the same solution, you will probably have problems trying to upgrade piecemeal. One project using one version and another project using a different version in the same solution will make building the solution difficult.
However, if you can upgrade a solution at a time, you can use the MSBuild/NAnt tasks on your CI build server to auto-deploy the proper version at build time for the given solution and remove it when the build's done.
If you need to switch your developer machine from one version to the other, you could create some simple version switching build scripts that use the auto-deploy feature and switch to the right version before you open the solution to work on it. (That is, instead of installing on every machine, use the auto-deploy mechanism to "install.") The only downside to this is the auto-deployer doesn't also auto-deploy the VS add-in, so you wouldn't get that integration.