In the past, I skipped the FAT16/32 step altogether. I save the data on the SD card (or CF card or whatever) according to the way I want it. When I need to retrieve the data, I just import it using the serial port on the PIC and Hyperterminal on a PC and save it to a file. Do some 'post-processing' on a PC with some VB instead of worrying about trying to reinvent the wheel and write a FAT16 filing system on a PIC.