[I tried to leave this as a comment to "How credible is TFS’s success anyway?" (http://clangalyon.wordpress.com/2008/03/03/how-credible-is-tfss-success-anyway/), but I guess I am not smart enough to leave a comment to a post on wordpress :)]
I moved the source code for my last 2 employers from VSS to TFS 2005, and now I am just awaiting to move a TFS 2005 plus various VSS repositories to TFS 2008. I have experiences with implementing and managing CVS and SVN as well (actually my previous employer asked me to move from TFS 2005 to SVN, 'cause TFS was not up to the task for our requirements).
I haven't seen yet TFS 2008, but I can tell you that the CI in TFS 2005 was at prototype level, at last 1 order of magnitude slower than CCNET (so far, we ever went the CCNET way).
The version control (VC) was better, and in most shop you can live with its performances, especially if you use a dedicated SQL Server and spend some time tuning it. There are some bugs you cannot work around, and also Microsoft is not that quick to help (I am still waiting for a fix since quite a long time), but all in all is probably less buggy than SVN at the same age, and it is so much an improvement compared with CVS and especially VSS. I have very good hopes for the VC component on TFS 2008, but I can't really see myself recommending TFS implementation of CI against CCNET very soon.
That said, from a theoretical point of view, I believe on certain scenarios software like darcs or git are going to be a better choice over any client/server SCM.