I've been playing with this on my spare time. When I started on this I was using two systems for the project but now i'm building a whole new system from scratch.

Old setup
As said before it was a two system setup. A VT server running VMware ESXi and a system running Debian Linux as a multiseat client. The hardware was sub par but got the job done. After a while there was so much network traffic between the two systems it was at a crawl and felt more like a VNC session with dial-up. How it worked was one user would be connected to a Linux user on the VT server, another user to a Windows user and the third would be a Mac user. All three shared hardware from a single system known as multiseat. Just used three videocards, monitors and keyboards/mice and pointed Xorg to three sessions.

New setup
This new setup is still in beta testing and if all works out i'll start dumping cash into new hardware. Maybe a motherboard that supports three or more PCI-E and the i7 core.
Anyway, this is how it works. Four hard drives for each user's home partition and a primary for the whole system. This way there will be less hard drive purring and traffic on a single disk. Debian Linux is on the primary hard drive. It's very bare, enough to multiseat three users, OpenSSH and to run QEMU under xorg. 20GB hard drive images on the other three drives, one for Windows, one for Linux and one for OSx86. It's very simple really, when each user logs into xorg it launches a xterm window in the background QEMU as the foreground for the session and loads up one of the three operating systems that is designated for that user. So is my Mac user logs in it loads up OSx86.

To control the main system I use OpenSSH to send commands and such so if I wish to reboot the system I just log out of QEMU then issue the reboot command in the xterm window session.

Right now it runs alright with two users but if I try and run three users at once things are a little unstable but that is more of a hardware limitation at the moment since my CPU doesn't support VT.

On the final build I might use Virtual Box so I can share native hardware so I can share a printer or use three separate USB sound modules so each user will have sound instead of fighting over the emulation sound. I'm also thinking to drop the Linux VT user and just use the system itself for the Linux session but at the same time im scared that it will cause issues. There are so many possibilities with this type of setup.
To live is to let die