I've been using VFAT formatted SD cards for years to transfer files between devices (tablets, cameras, GPS, computers) under different OS (Linux, Windows, Symbian, Android) without, as I recall, any significant problems. In some cases (the GPS), that's the only way to copy files.
Recently (May 2016) I got a new phone, and tried to copy a file from my Android (4.2.2) tablet to the Android (5.1.1) phone via SD card, putting the card from the tablet in the phone. The phone trashed my SD card. Hundreds of files were renamed and moved to LOST.DIR, and some I think deleted (I recovered more with photorec on Linux, and most have metadata such as EXIF that I can reset the date and name from, but it was annoying).
This seems to be repeatable; I tried with a new card, originally on the phone, and tried creating files under Linux (Fedora 9). If I create a new file under Android 4.2, then move the SD card to Android 5.1, it will rename the file into LOST.DIR. It seems that 5.1 is running an fsck pass when the card is inserted, "repairing" it. If I try "fsck.vfat -r" on Fedora, it doesn't like the file .android_obb, saying it's an illegal filename, but it doesn't trash the FS.
I thought about using an EXT4 formatted SD card, which Android and Linux will recognize, but Android won't it seems automount it. I can mount it manually on my jailbroken tablet, as root from adb, but that seems clunky and besides, I haven't jailbroken the phone.
There are hundreds of complaints online about LOST.DIR, so it's hard to find a good technical answer. Does anyone know more about this, such as why it happens or how to prevent it (apart from not doing that particular transfer) ? For instance, can one disable the fsck on insertion ?