At my current job (contract for a very large company. About 90% Microsoft/.NET dev), my group is automating builds and unit testing with TeamCity on our new applications.
I set this up and started with MSBuild on TC, but I'm trying to push to Nant build files and some more standards on new projects. (using the templates in VS2008 to generate as much of the build setup when a new project is created)
Source control here is scary. A lot of groups still use VSS (including mine, which is no fun) with a corporate push towards TFS this year. I'd prefer to go a DVCS (git or something), but it will not happen in this environment. In fact, I'm not sure TeamCity will get to stay once the company shifts to TFS 100%. But, my thoughts are, we will be so far advanced with CI by the time that happens, that TFS may not cover our needs. But back to TeamCity, it supports VSS just fine and that has worked out.
As far as deployment goes, I'm messing around with Microsoft's Web Deployment Project add-in as well as a config in Nant. The Nant approach is obviously more flexible, but trying to teach connect-the-dot developers Nant scripts is a bit much sometimes.
Hope that helps a little. The TeamCity "demo" will give you 20 build configurations for free.
I should note that I tried CruiseControl.net and Hudson. Both are excellent apps (and free), but I knew that the simplicity of setting up a new build in TeamCity would be required for the others in my group. Otherwise, people would simply just not do CI once I'm gone.