Increasing time difference between Windows Server 2003 and time.nist.gov even after explicitly syncing time

Your time service is syncing, then the VM host is setting it back to the wrong time.

You either need to get the host's time fixed, or get time synchronization to your VM turned off.

To disable time sync, these settings would need to be added to the .vmx, or via the vSphere Client in the VM's Edit Settings; Options tab -> General -> Configuration Parameters.

tools.syncTime = "0"
time.synchronize.continue = "0"
time.synchronize.restore = "0"
time.synchronize.resume.disk = "0"
time.synchronize.shrink = "0"
time.synchronize.tools.startup = "0"
time.synchronize.resume.host = "0"

I would say, pick a different time server for both of you to sync if time.nist.gov is sometimes not responding. Secondly, take a gander at this vmware article http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1318 since your time server is virtual, it can tend to drift a bit more than a physical server. I think you're taking the correct steps by syncing with an external NTP server, but also checkout the note about the vmware tools configuration.