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?
If it happend to be opensource, it would be really nice if it were written in .NET C++ would work, but im not any good in C++.
Why does this matter to you at all? It's not like you have to build it yourself or understand the source code in order to use it. And I doubt you would spend time rebuilding and tweaking it just for your project. You don't do that with the compilers you use, do you?
Subversion is quite good, I use it all the time, and the next version will be even better. Perforce is free for 2 developers.
I also like the fact that nobody suggests you to use Visual SourceSafe