when autoplug is executed to load a module on the kernel because of a hardware event (a device is connected), it doesn't check back to unload de module when the device is disconected. as the usb device is no longer connected, quering information such (cdrecord -scanbus), returns errating messages from an already existing scsi device that no longer belongs to a device. this has been tested on qa0328 and kernel 2.4.2-0.1.40.
I am afraid this is WONTFIX material. We found that doing the "rmmod -a from cron" trick is very harmful (it removes usb-uhci, for instance). Upstream community says the same. It should be possible for sd to figure that the device is offline (by check condition status from usb-storage). If it does not work, I can consider an RFE.