I have had some issues with a 1gb card, and also had issues with a card on my makerbot gen3, and with using sprinter with sd on the same card with mega and sd controller card (tested it in several devices.) I also verified the same issue with marlin firmware on my ramps 1.5 board. it seems to happen when several files are already written to on the device, and a file is written over, i also had issues after writing a file that was outside of 8.3 format. both of these things makes changes to the fat table that i think are not easily solved by the current sd library, although i have not looked into the code side of it, i have found an elegant solution. copy all sd card files over to your computer, format sd card to fat16, then copy the files back over to sd card. this will provide a clean fat table to read from. also never erase, or copy over a file on sd card, and always use 8.3 format. hope this helps! your mileage may vary. thanks!