It could be either of these methods to restore your access.
Insert the XP CD and reboot the computer. You may need to configure your computer to boot from the CD-ROM drive.
When the Windows XP Setup has started, press "R" to "repair the Windows XP installation using Recovery Console".
Select the Windows installation to repair (generally this is C:\Windows) by typing its number and then pressing ENTER.
Type the Administrator password and press ENTER.
Type the following commands: and press Enter after each.
D:
CD I386
EXPAND USERINIT.EX_ C:\WINDOWS\SYSTEM32
NOTE: If your CD-ROM drive has a different letter assigned to it, enter "X:" instead, where X is the appropriate drive letter.
After entering "EXPAND USERINIT.EX_ C:\WINDOWS\SYSTEM32" you should see the text "1 file(s) copied", in which case all went well.
Remove the Windows XP CD, type "EXIT" and press ENTER to restart your computer. You should now be able to log on as normal.
Enter the Recovery Console
Boot the system using the Windows XP CD-ROM. In the first screen when the Setup begins, read the instructions press "R" (in the first screen) enter the Recovery Console.
1: C:\WINDOWS
Which Windows Installation would you like to log on to
(To cancel, press ENTER)?
After you enter the number for the appropriate Windows installation, Windows will then prompt you to enter the Administrator account password.
Note If you use an incorrect password three times, the Windows Recovery Console closes. Also, if the Security Accounts Manager (SAM) database is missing or damaged, you cannot use the Windows Recovery Console because you cannot have correct authentication. After you enter your password and the Windows Recovery Console starts, type exit to restart the computer.
Type the following command and press Enter.
CD SYSTEM32
(If that does not work, try CHDIR SYSTEM32)
At the prompt type in
COPY USERINIT.EXE WSAUPDATER.EXE
Quit Recovery Console by typing EXIT and restart Windows.
You'll be able to login successfully as you've created the wsaupdater.exe file (now, a copy of userinit.exe)
"WARNING MODIFYING REGISTRY INFORMATION IS DANGEROUS"
Backup the Key before making changes.
Now, change the USERINIT value in the registry
Click Start, Run and type Regedt32 and press Enter.
Navigate to:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon
In the right pane you will see that the value of the Userinit key is incorrectly set to "wsaupdater.exe,"
In the right-pane, change the value of Userinit to C:\WINDOWS\system32\userinit.exe,
Type the above value exactly as given, including the comma. Also, change the path to userinit.exe appropriately if Windows is installed in a different drive.
Close Registry Editor and restart Windows.
Keep us informed as to your progress if you require further assistance. ;) :D