I ran into a little problem with a Windows Server 2003 VPC earlier this week. I was using the VHD on two separate machines with a different VPC profile on each machine due to needing a different hardware configuration (memory, NIC, etc). I made the fatal mistake of forgetting to shut down the VPC on one profile before opening it in the other. The end result was a giant mess.
The first major hurdle was the countless corrupt files, mostly with the code on which I had been working. Windows detected something was wrong and automatically ran CHKDSK on the drive. It took several hours to "fix" all the files, and several were still corrupt when I got the system running again. After pulling the missing files back from VSTS, I thought everything was good to go.
The next time I tried to use the VPC on the other system, I discovered that the user profile was corrupt and could no longer log in to the VPC. As soon as I entered my login information the system would reboot. I eventually tried booting in safe mode (which should have been the first thing I tried, but I'm not one for simple solutions). Luckily, I was able to access the account and use it to create a new account (apparently corrupt user profiles can't be fixed).
My first attempt to login with the new profile caused the system to reboot and corrupted the drive so it would no longer load Windows (would continually reboot). I attached to the OS install CD ISO (always good to keep that handy) and booted to the recovery console. From there I ran the FIXBOOT command, which is used to repair the boot sector on the system partition (and usually works). That was all it needed. The system booted and I was able to login with the new user and continue working.
I haven't tried the old account yet, but don't want to risk killing the system again. Moral of the story, if you use a VHD on multiple VPC profiles, shut down the system in one profile before trying to open it in another. It'll save you hours of time.