Can you register a COM server without the changes you made for MSScript.ocx?
Have you tried registering your COM Server from an elevated command prompt if it registers for all users in HKLM?
What were the "MSScript.ocx" changes in your com server code?
Have you tried debugging the COM server's registration code?
In the project's debugging options specify regsvr32.exe as the program to be executed and your DLL's name just as if you were running regsvr32 from the command line.
Set a breakpoint in the DLLRegisterServer code so that you can step through the code to look for errors.