These directions aren't the ones you'll find in the readme or the help, these directions are what worked for me.
First, I ensured that the box had Windows Server 2003 installed. Since it already had IIS installed, and was NOT a domain controller, I removed IIS completely from the system (using Add/Remove Programs, Add/Remove Windows Components). Then, just for good measure, I deleted the entire INETPUB directory. I also deleted the \program files\common files\microsoft shared\web server extensions\6.0\bin directory (which is added if you had ever installed Windows Sharepoint Services.) I also removed all instances of SQL Server and MSDE.
I set a static IP address that was valid for my test network. I then ran DCPromo to create the domain controller.I created a DNS server on my box (or, rather, had DCPromo do it). Once completed, and had rebooted, I added IIS, MSMQ, etc (in other words, the services I want on the box.) I ensured that I did not install anything at this point that would enable any FrontPage Server Extensions, as these would conflict with Sharepoint later on. I did enable ASP.NET v1.1 as well.
You might want to set up your real DNS servers under the forwarders so that everyone that joins this domain and uses static ip can still browse and connect to internet resources. This is configured under DNS Server. Right click your server, and choose the forwarders tab, and enter in the DNS servers that you want to use.
I then ran Service Pack 1 to ensure Windows Server was up-to-date. After that completed and rebooted, I installed Windows Sharepoint Services using the default configuration. Once it had installed and configured, I installed SQL Server 2005 April CTP according the directions in the Team Foundation single-server instructions. Once completed, it will have upgraded the web sites to use ASP.NET 2.0 Beta 2, which will cause Sharepoint to fail. To fix it, I did this:
1) Ran Internet Services Manager, and changed the version of ASP.NET for the default web site to v1.1 (services tab for the Default Web Site).
2) From the home directory tab, I left the application pool as it was (STS_APP_POOL or something like that)
3) Changed the Reports virtual directory to use ASP.NET 2.0 from the property pages, and changed it's app pool to the Default Application Pool
4) Did the same for the reportservices virtual directory.
5) Did an IISReset.
I then tested to ensure that http://localhost worked fine (that Sharepoint worked) and that http://localhost/reports worked fine as well. Do not proceed to anything until you've got both of these working. This is critical. You'll also note that these steps differ from the instructions in the installation guide.
Once completed, I installed Team Foundation by running its setup program, and following all the directions listed. Instead of creating a particular service account to run setup under, or another account for the service, I used the Administrative account I was logged in under, and used that when asked for the service account. This is a bad practice, but I'm not terribly concerned in my isolated home network.
Once completed, you can of course set up the Team Foundation Client on the domain controller to manage the Team Foundation, or use another machine with Team System bits installed (any of the versions, or the team suite as available on MSDN Subscriber downloads). The machine you are using, if a seperate box, should be added to the domain as well. In my case, this machine is running Windows XP Media Center 2005 and SP2 installed.
Lots of steps, but after a couple of failed attempts, this worked well for me, and I'm able to create new team projects consistently.