I worked on a project of remote data collection. While the system were supposed to be permanently connected through RF, we had to handle the case in which either the RF, the internet down or any other reason data couldn't be sent as we couldn't afford to loose data.
At that time we were using an RTOS with a Fat file system on a PIC24 and SD card. Unfortunately, this wasn't reliable as in case of power loss, it could happen to have the file system corrupted.
Also FAT is quite complex to handle with uC, especially when you start to have a lot of files.
Our solution at the end was to write data in raw into the SD card with the write/read sector being stored on the first 10 sector of the SD with randomisation to avoid flash wear.
The downside was that we had to use a special software in admin mode to read the data from a computer, although it was much more reliable than a Fat file system, and also much easier to handle on the PIC.
Looking back, I would probably now use an embedded Linux to handle this instead of a PIC as it saves a lots of time and headache. Connectivity is also much easier to handle on a linux than a uC, downside of linux is cost, power consumption, boot time and IO latency depending on what you do.