When I have a USB device like a SD card, USB drive or external hard drive, I always need to unmount it, otherwise OS X complains about the device not being ejected properly. (It’s possible to disable this message, but that’s risky.)
On Windows, the solution to this is trivial: Disable the filesystem cache for USB drives, so that they can be immediately and safely removed.
Does OS X have a way to disable the cache?