No matter how much time and thought you put into this, you'll probably never end up with a "Perfect" environment. Each tool has their own quarks and issues. Nevertheless, here is some food for thought:
Go to the latest and greatest version of Visual Studio, VS2008 SP1.
If you are an MSDN subscriber, and have purchased the Team System Version of Visual Studio, you can install Team Foundation Server (TFS). TFS is a pretty slick product that is integrated into Visual Studio. It uses Windows Sharepoint Services (WSS), which would give you the ability to have Wikis, Document repositories, etc (basically a stripped down version of Microsoft Office Sharepoint Server). TFS will also give you the newest version of Visual source safe, which I have had no problems with, and Microsoft talks about it being able to scale to hundreds of thousands of users. TFS Workgroup edition will allow you up to 5 developers to use without having to purchase a license. Above 5 users, and you'll have to purchase liceses. I'm also pretty sure you'd have to use SQL Server 2005 in order to run TFS, but I could be wrong. We have TFS installed on a single box (our developer box), and have had no issues.
SO TFS Would give you:
- Collaboration
- Version Control
- Reporting on Project Status
- Issue Tracking
- Integration into Visual Studio
- A lot of other goodies
For your daily/continuous builds, I'd lean towards CruiseControl.NET (CC.NET). We tried to use the Build system build into TFS, but ran into many,many issues (I think mainly because of the way our projects are structured). CC.Net was a breeze to install and configure, and works like a champ. You can set it up for continuous building (each check-in triggers a build), and daily builds. You may have to find some cleaver ways to make CC.NET do some of the more difficult tasks (like stopping a service, etc), but it hasn't been able to do anything I've needed done. It is also pretty extensible, so you can write some code to make it do what you want which is a nice feature.
Not sure about versioning of the database, but I'd assume you can use TFS Source Safe to achieve this.
Good luck!