Pádraig, wow super, "cp --sparse=never" works though the file I tried with was in no way sparse. I checked (after umount & mount again) the checksums, and it's a real success.
The error (before) was absolutely repeatable, it happened always, without exception, it created a file with 0 bytes length. Same effect when directories copied recursively, each file was created with zero length.