Using Windows 7 Virtual PC to create a virtual machine, I know you can sysprep the VHD and then you are able to use it to dual boot using the Win7 boot from VHD mode.
However can you take that VHD later and load it in Virtual PC? I suspect another sysprep will be needed to change the drivers.
You're correct that the drivers would almost certainly be completely different between your physical hardware and the virtual machine "hardware". So while you could move the VHD back and forth between boot-to-vhd and boot-in-VirtualPC, it's not really practical. The substantial hardware change would trigger the re-authorization every time you switched modes and after a couple of switches your product key isn't going to work any longer.
I've done a similar thing to convert old hardware to a virtual machine and it's not horribly difficult to get a physical image to run in a VM as long as the host machine isn't too different from the physical machine.
Yes, and you can go both ways - from a boot from vhd image and to running in VPC or Hyper-V, or the other way. Sysprep would be required if you are going the other way, so that the minisetup runs to detect the various drivers when going from a VPC/HyperV vhd to a boot from vhd. This is to prevent the boot from vhd image from running the integration disk drivers when running on the real hardware.
An interesting utility recently released that you may want to check out is SysInternals Disk2vhd. It can do some hal fixups when going back to VPC:
http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx
It uses the volume shadow copy feature of Windows XP/2003 or later to create the image. I recently created a vhd from a ThinkPad T61P, and it started up fine on Hyper-V.