When there is some problem i run scandisk for windows, usually im able to save most of lost data, then run defragment to clean up and scandisk again to check it.
Darkness: try to run scandisk from windos command line, c:windowscommandscandisk, nothing should restart that one. If you can run it.
Yeah and in some programs like Partition Magic thou can set cluster size to your needs, I think smallest available for FAT32 is 4K ? (probably like jari said)
btw im still using FAT16, and i dont see any problem in it, on my 15GB hdd