The little I think I know of Windows programming is that if the threads are created properly it should be upto Windows to delegate threads to all available cpus. The hardware side, chipset etc, has no say in this. It's all about how to operating system software decides/chooses to use the hardware.
If somebody has a multicpu Win box I'd be happy to hear what kind of job delegation possibilities there are; is it possible to bind a single app to a known cpu exclusively, how much control is given on which cpus the threads run etc or if there are any capabilities of this kind at all.
Adobian, please note that in modern operating systems there are practically never situations where only 1 program is running, as the os components and device drivers are always running in addition to the user programs. When you receive data from network it goes through the network card driver, network protocol layers etc before ending up as usable data in your program, and all these steps are separate programs themselves.
Many users think that if they have started one program only then they have only one program running, this is not the case. All of the os is just a program, or more properly several programs, to the computer hardware. Check your task manager process list and please remember that many device drivers are not listed in this process list at all yet are run all the time. So more cpu's always helps performance.