in reply to DBI limitation???

First thing that comes to mind is a timeout. If the connection dies, checking the error code would establish a new connection and show no error. Right?

To test, watch the process (if you have the tool installed). Or, just do less records at a time until you hit the number that fails.

BTW, just a bit of golfing, there's no need to alias the second table or its column. Indeed, you can just use *.