I just converted a physical Windows XP x64 machine with 4 CPUs to a VMWare virtual machine with 4CPUs (on a ESX server) using the VMWare Standalone Converter.
Everything worked just great, except that the OS now seems to use only 2 CPUs (when 4 are installed, see the following image). This must be a Windows XP issue rather than a VMWare issue, but I can not really rule out any reason at this stage.
What can I do?
you can also create one vCPU with 4 cores, check out: http://www.yellow-bricks.com/2009/06/04/per-processor-licenses-for-your-application/
Are you using SP2? prior to that XP wouldn't support more than two CPUs. Even with SP2 XP will only support what it sees as two CPU sockets - so your third and fourth vCPUs would need to be seen by XP as cores of one or two CPUs.
Don't forget that VMware guests can quite easily run more slowly with >1 vCPU, especially if the guest/core ratio is high, or the CPU load is high. For example, a CPU instruction on a dual-CPU guest has to be queued by the hypervisor until two physical cores are available. I've seen this effect in a production environment, where a P2V'd Oracle server guest, with 2 vCPUs runs more slowly than when running with 1 vCPU. Just thought I'd pop that one in there.
VMware has stated that a VM no longer is required to lock two CPUs to use the CPU if two CPUs are assigned to the VM. The Vkernal is able to assign a single CPU and give it process time until both become avaliable.