Turns out Visual Studio requires the Web.config to part of the project, no ifs, ands or buts. This MSDN article seems to imply it anyway.
To get around this I had to create a Web.config in the root, remove everything in the <configuration> element effectively leaving it empty and add it to the project. Then in one of my custom build targets, backup the empty Web.config and copy the generated Web.config to the root. In addition to that, my custom clean target restores the backed-up Web.config. With the above steps source control and Visual Studio are oblivious to my slight of hand.
This workaround makes me cringe so if anyone has a real solution I'll gladly change my selected answer.
Jonathon Watney
2009-06-26 23:44:22