Just for the audience, even though it doesn't really help you, the easiest way to deal with this problem is to generalize the image before you take a snapshot of it. This means changing to a generic storage driver, probably the Microsoft parallel IDE driver, which will run on almost anything.
After the fact, you can use dism.exe to install a driver package into an off-line image. You might need imageex and the OEM Preinstallation KIT (OPK) to get your Windows installation into a state where it will boot on the machine that you're targeting.
By the way, your question has nothing to do with VHDs, except that's how you got to where you are. You're really asking a question about making a Windows installation portable between machines. These same issues come up if you move a physical hard drive from one machine to another, or if you use simplistic backup tools to put an image on a new machine.
Your best and least painful option, by the way, is to find a machine that is physically very close to the one that you were using when you built your image and boot it on that. Then you can more easily enable the storage drivers for the machine that you actually want to use.