I would recommend a completely different approach:
For connection strings, I would recommend that your connection string be exactly the same, something like DeveloperServer/DeveloperInstance . Then on each machine, you can aliases this name to any server that they need to use. This is beneficial for two reasons; first, this means that your .config files do not need to be changed and will be homogeneous with respect to all development environments, and secondly, if one developer needs to switch to another server / instance for testing, he can do this in his own environment, without affecting other developers.
How system settings for you I'm not sure what it is that I cannot help.
source share