I fixed the Right-click "Windows Explorer has encountered a problem ..." problem on my Windows XP Pro SP1 system by debugging the Registry and deleting a key under HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers. In my case the offending key was "MKSSI Windows Explorer Extension", but in your case it may be something else.
Before tackling the problem, I can at least suggest this to reduce the pain: in Windows Explorer, click Tools | Folder Options, select the tab View, scroll down and fill the checkbox "Launch folder windows in a separate process." Now at least your Desktop doesn't have to redraw every time a rightclick crashes. Is that a little better?
Here's the general method I would suggest; but beware that editing the Registry is reputed to be a ballsy thing to do, so be sure you know where your backups are.
Start | Run | regedit | OK
If you navigate Home, Downarrow, Rightarrow (wait for expand), Downarrow, you should be positioned on HKEY_CLASSES_ROOT\* (that's right, the key is named "*" -- asterisk, or star). Click File | Export, navigate to the folder where you want to keep this little backup (Desktop is OK), and the filename I suggest is "HCR_slide_star" -- with default ".reg" filetype. Note at the bottom that "Selected branch" is checked, and that it is indeed HKEY_CLASSES_ROOT\* in the textbox, and click Save.
Now here is where we start to stick our neck out a bit. With the "*" key selected/highlighted, click menu Edit | Rename, and change the name of this key from "*" to "*-WAS". [If you want to practice this on a working system, you'll see that your Windows Explorer rightclick popup menu becomes all plain after you do this -- no WinZip menu choices, etc.; rename it back to "*" and your extended rightclick menu is back. Get it?] Now launch a fresh Windows Explorer, and rightclick on a file icon. Do you get a (rather plain) popup menu, or do you still get the error "Windows Explorer has encountered a problem ..."? In the latter case, just rename "*-WAS" back to "*", exit regedit, and look elsewhere; the fix for your problem isn't here.
But if you DID get rid of the nasty crash, now you can dig deeper to find out what the offensive key is.
Your "*" is still renamed to "*-WAS", right? We'll leave that copy of the "*" branch alone, and bring in another copy to play with. Click File | Import, and select the little backup file "HKCR_slide_star.reg" we made just a little while ago, and click Open. At this point, if you rightclick a filename in WE, the problem should be back. Satisfy your curiosity, or save yourself the trouble -- up to you. Anyway, click the [+] boxes to expand "*", then expand "shellex", and then expand "ContextMenuHandlers" so now you see a list of keys that resembles some lines on your rightclick menu (if it were working). Now remember "*-WAS" is still your unmodified original, and you have a backup file on your desktop, so we can begin open-heart surgery here under the living, breathing, pulsing "*" key. In whatever order you think is most suspect, click on each key under "ContextMenuHandlers", and delete them one at a time, either with Edit | Delete, or just use your Del key; and each time, re-try rightclicking a file in WE. By process of elimination, you should find the stinker. If you manage to delete them all and rightclick STILL crashes, then your problem isn't here: delete the whole butchered "*" branch, and rename "*-WAS" back to "*", and look elsewhere.
If you DO find an offending key (and assuming there was only just one), you want to get all the other falsely-deleted ones back now, don't you? In this case delete the whole butchered "*" branch, and rename "*-WAS" back to "*", and now delete just the one black sheep key.
If there are actually two or more keys that are sick, your surgical techniques will have to be more elaborate; but I think you're smart enough to figure out that game now.
I'd be thrilled to know whether or not this method helps anyone else.