Aha!
Ok, I figured out what I was doing wrong. Because I still put all my mounts in /mnt (I'm old school like that), I didn't notice that Calibre was mounting my reader over in /media/${NAME OF READER}. So there were these stale mount points that Calibre was trying to write to, and the device was mounted multiple times, and all sorts of shenanigans. Since I was testing the device on just the _latest_ mount point, the file descriptor still worked, wheras with the other mounts it was kinda best guess as to linux's behavior.
Once I unmounted all the stale mount points, and started anew, the writes went through just fine
My problem really was that when I hit "Quit" on Calibre, I just assumed it would be unmounting the device. I guess that assumption is wrong. If I didn't want it to unmount it, I probably would have just kept it in the tray though? This behavior was non-obvious to me, but I could just be naive.
Thanks for your amazingly prompt responses, and thanks for calibre