As you've realized, "deleting" a file only removes the header. The file is still there, able to be recovered until overwritten by fresh data, and sometime recoverable (eg by computer forensics type programs) after overwriting.
This one seems to do a good job of file recovery.