I know this thread is old, but I know what happened here because it just happened to me. Explorer.exe got deleted and it's hung because it doesnt have a shell to load. If you go into safe mode and do the crtl-shift-esc (I think thats it...it may be crtl-alt-esc) to pull up the taskmgr.exe the file explorer.exe is gone.
I opened taskmgr and expanded explorer.exe from the xpsp2 directory (explorer.ex_).
After that I loaded the file I just expanded (explorer.exe) and the system is fine now.