Still not sure why the programs were working on the first run, but found the problem to be malware. Specifically AppInit_DLLs. A registry key was injecting malware into the files. Not sure if they were altered or if there was some other reason they only ran once.

If anyone comes to a problem similar to this, grab autoruns from sysinternals and look at the AppInit tab.