http://www.virtualbox.org/ - from Sun, now Oracle. It’s free, though.
MS Virtual PC only supports 32bit guests -- aaargh
there’s no snapshot capability in Windows Virtual PC. You can use
“Undo disks” just like a single snapshot, or you could manually set up
differencing disks to simulate what a snapshot does, but other than
backing up the vhd like you said, that’s it.
To use undo disks, power down the virtual machine (not hibernated, it
actually has to be off,) then go into the virtual machine’s settings,
select “Undo disks” on the right, and checkmark “Enable undo disks”,
then just power on the virtual machine.
Then do your testing, when done, close the machine normally
(hibernated is okay), go into the machine’s settings again, select
“Undo disks” on the right, then you’ll have 2 buttons enable, one to
discard changes, which means go back to what you had when you enabled
undo disks, or apply changes”, which means merge everything together