I very seldoms reboot when inserting cable and suspend problems should be gone (as it doesn't enter suspend while in usb host mode).
For me the USB peripheral mode is still working fine when I switch cables.
Let me know how it works for you.
EDIT: With lockscreen enabled the UI still freezes on suspend/resume although it should be possible for it to suspend. It seems it is just the UI that freezes (adb still works) so maybe it has something to do with having a mouse attached. I'l try with just an flash disk to see if it changes it's behaviour.