A few other things to try:
Easy :
Make a new user (admin account)
Restart. See if it opens ok.
If so, copy all your personal files, including your old desktop (while in new user)
Go to C:\Documents and settings\Name_of_old_user\My Documents
and copy to new user
and
C:\Documents and settings\Name_of_old_user\Desktop and copy to new user.
A bit hard (U have to know what U are doing, and be very carefull) :
Go to Start>Run and type regedit
Access:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\
Click Winlogon and look to your right for "Shell"
Check if it is Explorer.exe
If not, double click Shell and write
Explorer.exe and click OK.
In the same place, look for Userinit
Double click it.Make sure it's
C:\Windows\system32\userinit.exe
if not, change to that.
(if your Windows is not installed on C:\ drive , then change the letter)
Restart.