it only happens sometimes and only seems to be when i have been using usb devices - it may be some thing to do with not unmounting them before removing them (which i obviously avoid) but it is hard to tell - it seems fairly random - any other experience of this?
Did you look at hotplug's log or any log that might tell about that problem ?
I have experienced such a problem too, with live-cds most of time. It says "Stopping usb hotplugging" and then hangs for hours...
What about manually (un)loading you usb modules ?
You could also build them in the kernel and go with udev... That's what I'm doing and the device nodes are automagically created and deleted...
Perhaps you could also tweak usb.agent or something like that ?