I came back from my summer break to discover a rough fourth of my photos in my CF card were corrupted... My EOS 30D was unable to display them, my PC was unable to display them, copy or even open the file. I was really upset, and blamed the CF card itself. But I wanted my photos back. I ended up using GetDataBack from RunTime Software. Since a CF card is usually formatted as FAT, I used their FAT version but they also have a NTFS version.

GetDataBack reconstructed all my files entries, undeleted a few directories, and fixed all damaged data. The tool is trivial to use and I highly recommend it. If you know a cheaper or even free equivalent to GetDataBack, please let me know.

Update: many readers recommend using the free PhotoRec.