If scanner disconnects and reconnects, user needs to restart xsane.
It appears that devices are searched on startup, so that if the device is restarted, disconnected and reconnected, scanning raises an I/O error.
Ideally the scan command should issue the same device routine that occurs at startup, so when a disconnect occurs, the user only needs to reconnect it to continue scanning. I believe this simply isn't implemented yet, if there's already code that tries to solve this issue, please point me to the code and I will upload information regarding my device to help debug.
P.S: I was pleasantly surprised to see that xsane worked OUT OF THE BOX. Keep it up.
Regards, Tomás