Right now its now clear of its a fog issue or windows imaging issue.
On your reference image disabled the fog client service and don’t have your setupcomplete.cmd file enable it. On your vm sysprep the image and have it shutdown. Then repower the VM without using fog to capture and deploy it. You need to see if on the same vm you can prepair an image, sysprep it, wake it up and it restores correctly. Use vm snapshots so that you don’t loose your efforts in setting up the reference image.
You should also look at the windows setup logs in the c:\windows\panther directory to see if you can pinpoint where the error is being triggered. But I’m with Wayne here, I think it is a driver issue that is causing you pain, probably video. If you look at the device manager after you reboot it, is there any indication of a failed driver?
I can say I use a process that roughly resembles what you are doing, except I’m using MDT to create my reference image in an automated manner. So it goes from DVD to a full reference image with the windows updates and base applications. This is done on a VM (as it should be done). From there I use FOG to capture and deploy the image. I also have a FOG post install script that injects the proper drivers into the image before the first OOBE boot. I use an unattend.xml file to set certain system parameters and I have the unattend.xml file connect the target computer to AD in the proper OU (the OU location is set by the fog post install script modifying the unattend.xml file before the first oobe boot). It is quite a complex dance, but the process does work.