We have a large Visual Studio 2005 C++/Mfc solution, 1 project with around 1300 source files (so about 650 .h and 650 .cpp files). We also use Boost and a few other librarie
IncrediBuild (distributed build system for VC++) besides the time-saving has an additional helpful function. It will restart a compile automatically if the remote machine fails to return results. So you should be able to get full builds, without crashes in 5 or perhaps 10 minutes.