I can't answer the question, but I can add an extra little bit of anecdotal evidence. I have noticed this too, with a Linux hosts (Debian/Etch and Debian/Lenny).
After some mucking around when I first noticed the issue, I came to the conclusion that the issue is VMWare, not the guests themselves. Upon stopping all services in the VMs on a particular machine the CPU use remained high despite the OSs in the VMs doing nothing. On shutting down each of the four VMs the excessive host CPU use dropped by about 25% per VM (I didn't measure this by any scientific means, but certainly no one VM seems to be imposing most of the load). After restrting the VMs the CPU use remained where it used to be, even with the services in the VMs active, and the load has begun to slowly rise over time with no related rise in apparent useful activity.
In both the cases that I have noticed this happen, the host OS has been 32-bit Linux and the guest OSs have also been 32 bit Linux.
I have not seen it in all cases though. On my home server (64 bit Linux kernel with 32-bit user-land running one large and two small 32-bit Linux VMS and occasionally Windows VMS for testing) and the main dev/test host at work (64-bit Linux (both kernel and userland) host running mainly Windows VMs, some 32-bit and some 64) this aberrant behaviour doesn't seem to be present. All the above are running VMWare Server 2.
So to cut a long story short: it isn't just you, and it isn't just Windows based guests, but it doesn't seem to be a consistent problem (as many arrangements don't see it as do, in my limited experience). Though unfortunately I can't help any further than that as I've not had the time to look into the problem in more detail.
Best Answer
A Simple Way:
CPU:
I would recommend setting the 'niceness' of the each process that corresponds to the VM. This doesn't really limit how much CPU is used, but rather sets the priority that the scheduler will give it.
You can change the priority of a process with the renice command. -20 is the highest priority, 20 is the lowest priority:
To increase the priority, The command may need to be run as the superuser.
Memory:
The amount of Memory a VM gets is set with the VM properties inside of VMware Server, I would start with that.
Disk:
Disk IO can be one of the problems with VMs. You can get some number of disk performance with the iostat command which is part of the sysstat package. You can then use the ionice to change the disk priority. For example, to set a vm to 'idle' disk priority:
A Little More Complicated:
You could run the VMs as a specified user, and use PAM and the /etc/security/limits.conf to limit the resources run by the user.