I've also had very good experience with GetDataBack. I originally purchased the NTFS version a few years ago to recover someone's hard disk that wouldn't mount and which chkdsk refused to run on. I later bought the FAT32 upgrade to recover a damaged memory card which I wasn't able to recover with the freeware tools.
Unlike many commercial products, GetDataBack does not restrict the number of drives or GB that that can be recovered. For example, I remember one product that charged per GB of recovered data. :eek:
Recuva and Testdisk are the two best freeware tools I'm aware of and before getting GetDataBack, I've recovered quite a lot of data with these two, especially on memory cards. They have improved quite a lot in recent years and have extra functionality such as recovering data from deleted partitions, so definitely worth a try.