HAL(Hardware Abstraction Layer)が適切なものになっていない可能性があります。
下記の手順を行ってみてHALを置き換えることができます。(自己責任にてお願いします)
他にVirtualPC上で起動に成功している同じくVistaがあれば、その仮想マシンの C:\Windows\System32\hal.dll をコピー&保存します。
今回問題となっているvhdファイルをVHDマウントしてvhdファイルの中身を操作できるようにします。(Zドライブにマウントしたとします)
念のためマウントした Z:\Windows\System32\hal.dll をリネームして hal.dll_bak とし保存します。
先ほどコピーしておいた hal.dll を Z:\Windows\System32\hal.dll に配置します。
vhdマウントを解除後、VirtualPCの仮想マシンとして設定&起動します。
WIN1