Since you are unable to use any non-Microsoft tools have you looked at using Team Foundation Server (for least the version control component) rather than VSS? From my experience TFS is a decent source control system. With TFS you have the nicer edit-merge functionality rather than exclusive checkout that makes development by more than one person much nicer. In addition the branching and merging is much better in TFS than VSS.
There is a free workgroup license for TFS that gives you up to 5 named users, after 5 users or if you want Active Directory authentication/authorization you must use the standard edition. Depending on your particular MS Partner benefit level your company may already have a license for TFS.
In addition, all clients need to have a CAL (and Team Explorer installed). From my understanding of MS Licensing it is not required that everyone who will be accessing the TFS server have a Team SKU of Visual Studio and that you can continue to use VS Pro and purchase a TFS CAL (which comes with Team Explorer). I have implemented this exact solution at a previous employer.
In TFS I would set up your solution like this (I have only shown the Trunk as fully expanded and a (partial) feature spike branch) :
$/Project1/
Branches/
/Spike1/
BusinessObject/
BusinessObject.sln
BusinessObjectProject1/
BusinessObjectProject2/
WebService/
WebService.sln
WebServiceProject1/
WebServiceProject2/
<etc>
Tags/
Trunk/
BusinessObject/
BusinessObject.sln
BusinessObjectProject1/
BusinessObjectProject2/
WebService/
WebService.sln
WebServiceProject1/
WebServiceProject2/
Proxy/
Proxy.sln
ProxyProject1/
ProxyProject2/
Web/
Web.sln
WebProject1/
WebProject2/
$/Project2/
Branches/
Tags/
Trunk/
BusinessObject/
BusinessObject.sln
BusinessObjectProject1/
BusinessObjectProject2/
Proxy/
Proxy.sln
ProxyProject1/
ProxyProject2/
Web/
Web.sln
WebProject1/
WebProject2/
The Branches folder is so that you can easily implement standard branching and merging especially since TFS only allows branch/merge operations to take place between a branch and it's direct ancestor and direct descendant. The idea is that most day to day development takes place in Trunk and when you need to temporarily isolate changes for work on a major feature or spike you take a branch from Trunk into Branches which you can then merge back into Trunk when you are ready to integrate (as well as being able to continue to merge ongoing changes from Trunk into your feature branch).
The Tags folder is so that you can both branch to a tag when you are ready to take a snapshot of a particular version of your code as well as using this folder for build and deployment. For build and deploy you create a branch from Trunk to /Tags/Test and from /Tags/Test to /Tags/Production and then you merge your changes from /Trunk to /Tags/Test when you are ready to promote your changes to the test environment. You can have either a continuous integration build running on /Tags/Test or an on demand build that will perform a build from that branch and copy the necessary artifacts to the appropriate locations. You can have similar functionality on the /Tags/Production branch so that as you merge changes from Test up to Production you continue to have an automatic build and deployment.
In addition to better source control, with TFS you also gain things like an OK CI build server (using Team Build and building on either the TFS box or a dedicated build server), work item tracking (which is quite good and nicely customizable) and a decent project portal using the SharePoint integration with TFS. All of this additional functionality is also very compelling and I recommend looking around at some of the other great TFS content available on the web for more details.