"OTOH, you mention MSVC 7.1., which is to our knowledge the optimal compiler/linker for most of C++ stuff. With incremental linker it posses, there is a little need (except the extremely large applications, more than 2 milions of lines of C++) to use shared libraries just to speedup the build process."
Boost is the largest hog - a 1 MLOC translation unit is nothing uncommon. I do include *.cpp files into single TU (which I think Blitz does) to combat with this.
"If I remember well Digital Mars has MSVC compatibility mode via some switch. My interest about this compiler dropped at the moment when I have found it has not even achieved C preprocessor compatibility (unable to interpret some of U++ macros)."
DMC has a wrapper named cl.exe which translates MSVC options and calls dmc.exe. DMC preprocessor was fixed some half an year ago and is able to deal with Boost.Preprocessor, which is more than most other preprocessors. DMC is still not able to deal with the most tricky templates in Boost but for less ambitious projects it should be (the 8.50 beta) OK as is.