Ok I forgot to mention that I was using Logonloader. Logonloader is a program that allows you to change the logonscreen on your computer to something else. But be careful
The problem was that I had the wrong logonui.exe program in the wrong folder.
ResHack.exe was in the Windows Vista Logonscreen file folder which was in the logonscreens file folder. The logonscreens folder is where logonloader gets different logonscreens to execute. So Logonloader executes any files ending in ".exe" located in the logonscreens folder.
Last week, I opened up Logonloader and checked the option to randomize the log on screens without realizing that ResHack was in one of the Logonscreen files namely Windows Vista Logonscreen. Logon loader just looked for any file with a ".exe" extension in the Windows Vista Logonscreen folder and executed that.
So each time I restarted the computer, Logonloader would execute ResHacker because it thought ResHacker was a logonscreen within the Windows Vista folder.
The solution: I located a real Logonscreen.exe file in the logonscreens folder and used the already open ResHacker editor to switch the name of that Logonscreen.exe file to ResHack.exe and then change the actual name of ResHack.exe to something else. If logonloader was to execute ResHack again, then I would be able to log in.