I've also seen this problem, both on the SL-5500 and the SL-860. I suspect it's a problem with the Windows USB driver trying to go beyond the limits of what the Zaurus can handle, as I've only seen the problem for transfer speeds of 500 kB/s or more.
Whenever the problem occurs, instead of physically removing the USB cable, I issue the following command:
/etc/usbcontrol net
which resets the USB connection, and sadly Windows sees as a disconnection and then a new connection.
And that's another thing, how the !@#* can I stop the Windows USB disconnection window popping up whever I disconnect the Zaurus? There's probably a registry hack to do it but I don't have permissions to change this at work.
Dan