I personally recommend subversion+trac but you need a server that will maintain the repository. You *never* want to work off of the repository copy of the version control system.
What you can do is have a "master" copy on one developers machine and he has a local copy of the master like the 4 other devs .. so he would never work in the master copy. You would have to install the server side components on his machine but it will work.
Also -- CVS is a "version control system". You should refer to it as source control and not CVS, unless you're talking about CVS.
Okay , so I should investigate subversion and trac.
To go into more detail , the developers work on a .net Solution and each one add(s) or works on a Project .
3 of the machines use VS2008 and one , the main one is VS 2005.
All the intranet clients have .net framework 2
.So we have to update the VS2005 pc code so client's don't have to install .net framework 3 / 3.5
Right now we manually copy and update the VS2005 machine , but sometimes we don't ( and this is where the problem might occur if we give a user a dll/exe that has not been made changes on different pcs)
VS2005/2008 has nothing to do with the destination framework version, it only has to do with how the project files are. VS2005/2008 cannot read from the same project files but they both can compile for framework 2.0, 3.0, etc.
You set the framework version in the project's settings.