One more mention on the quad core. Windows can use the 3rd. Lots of little background stuff goes on. So pushing those onto another also helps... a bit...
To be clear, Windows doesn't exactly schedule as you're describing. You could explicitly set the CPU affinity of every process to get that behavior, but that's more effort than it's worth. Windows 7-and-prior will schedule arbitrarily, doing some tolerable-but-not-really-optimal load balancing between the available cores. In general, other processes will share the cores MAME is running on such, though just to a lesser extent than on a >2 core machine (unless MAME completely pegs them, which isn't common).
Windows 8 has some different behavior in this department that I'm not clear on, but I seem to recall the SMP scheduler has been rewritten (though this may have just been to support 256 cores up from 64 cores).