I've had the "USB device not recognised" problem with USB hard drives, and after struggling for some time tried the extremely simply solution suggested by someone here- turn off the PC, UNPLUG FROM MAINS, leave for 30 mins and re-start. I could hardly believe that it would work, but it did. (However, see PS at bottom of this post.)
More details of my case:
XP machine with service pack 2.
Problem first occurred when I had been using a 500GB LaCie USB hard drive happily from port on front of PC, and plugged a pen drive into an adjacent USB port. Suddenly Explorer showed the folder I had been working in (containing large number of folders containing a very large number of RAW & jpeg pictures) as empty- disaster!
On re-load, PC reported this USB hard drive as an unrecognised device.
I tried the drive in other USB ports on the same machine- same result.
I tried another LaCie USB hard drive in the same ports- also now unrecognised.
I tried other USB devices (eg mouse) and they worked fine. Seemed XP had turned against this particular device type.
I tried these hard drives on my laptop- no problem, worked fine.
I went into Control Panel / System and deleted all USB devices and hubs. Re-loaded. Problem unchanged.
Then found this forum, and the various suggestions people had had (like re-building system from scratch, and editing catalogue). Found the one about switching off, unplugging, and leaving for 30 mins (actually I left it a couple of hours).
Did nothing else (eg didn't this time delete the devices).
It worked! And it continues to work- the machine has been off and on since with no problem.
Two of us who have worked in computing all our lives are left amazed, and thankful to the person who came up with the idea. Still don't understand how it worked, but it did.
PS. However-
In a spirit of testing that everything remains fine, I've just now used "safely remove hardware" and unplugged the original drive, left a couple of minutes, then replugged and switched drive back on. I have the dreaded "device not recognised" again. Hopefully I now have the solution (will report back!)