Probably a stupid question, but you're not copying the blockchain while the client is running? If so, the database will be changing as it's copied, and you will always get corruption.
Of course, not. I have turned off Bitcoin Core for every single transfer. It was also not running on the Raspberry Pi.