For my personal projects (and likely our work projects) I've been looking into Subversion as an alternative for VSS. And so far, I've only 'blowed up' my repository a dozen times in the installation process.
I am by absolutely no stretch of the imagination an SVN expert (I just started tinkering with it this week), but figured I would toss out a few of the hurdles I toughed through in getting it up and running.
After installing the product I got to spend a few frustrating days connecting to my server (on my local box). I eventually went with VisualSVN which is a great server UI and had my stuff ip in no time. Note that I had to turn off my IIS to instal VisualSVN on the same server.
The next fun hurdle was recovering from an 'oops!' in setting up a project. In VSS, I can break source control, remove my project from VSS, and re-add it with the correct structure (this happens sometimes when folks add the same project at two levels and all kinds of wonkiness ensues).
For SVN, after removing the repository projects, you just need to go into each of your folders and remove the .svn folders and source control will be broken.
For IDE integration I used AnkhSVN which has it's own quirks... the whole thing definitely feels like one sneeze will cause the whole thing to collapse. For example, opening a new project and trying to add your solution to SVN before saving the solution results in errors being thrown, etc.
In short, I'm slowly figuring out how to use this without my software being reduced to a smoldering heap of ashes. Once I have some repeatable stuff and have thoroughy tested out branch and merge, web projects, etc. I'll post a quickie tutorial on how to set this stuff up.
Next step - Cruise Control .Net and continuous integration!