I'm thinking you should find a new copy of hal.dll for your specific version of Windows (perhaps online... perhaps from a donor PC). On the busted computer, go into the command prompt only safe mode and copy that file into the directory you listed and then run the regsvr32 command on that particular DLL to re-register it with Windows. If safe mode doesn't work, boot from your Windows CD and choose the repair option and do it from the repair console. That might just work.