Why does it have to be written in .NET ? I understand why you wouldn't want it in something like Java, but C++ should be OK?  I've used TFS, VSS, SVN, and CVS and I like SVN the best (apart from the lack of VS integration but you get used to that).  Heard good things about Vault.

I'm currently debating TFS (Orcas) vs SVN for my project,  I like the fact everything is out the box and integrated of TFS (once its installed) but SVN is lightweight and easy to use...