Not all, or eight cores wouldn't be enough (the host needs some). See below.
Which if youre doing that, you ought to be doing it on a production quality system
And have to buy multiple boxes, with the space and electricity requirements? Remember, a Mac Pro is a workstation, production-quality server parts in a desktop. Companies are already using production server virtualization to save hardware, space and electricity, and ease management.
because those things wont even come close to peaking out a single core.
I think the problem is contention with the core's resources. They're not using much individually, but the constant fight for threads with associated context switches and dirtying the cache slows things down. Each OS instance is going to have have several hundred threads running.
Both file servers could share a core, as they'll never be loaded at the same time. AD and the client (which must remain totally responsive) can easily share. The front-ends and database each need their own, since when they kick in it'll be high load with lots of data crunching. That leaves two for the host OS in a Mac Pro, pretty good. If I put AD/file servers/client on a single core, I've still swamped a four-core system with little left for the host.
I mean, the VMs for those shouldnt even really need that much RAM (unless these are Windows servers.).
They are. But you can skimp on the Active Directory and file servers. The rest like their RAM, especially for the use I'm envisioning.
Well, I think your scenario for application development seems unconventional, or at least outside the realm of most development scenarios. But then again, I come from the Java Enterprise world. And you could still go buy a dual slot, quad core handling setup from newegg, throw Ubuntu on it (or OSX86) and have it be cheaper. But I realize that most people have no desire to go down this route.