Use Notepad or WordPad (not Word) and open that unreadable file and copy the first 16 bytes, and paste them here.
There are certain combinations of characters that will give us a better clue as to what the format of the file really is.
Example: JPG files will usually have JFIF in bytes 7 to 10. (I have found one other combination, that some cameras might place Exif there instead.)
If some recognizable characters are there you will get those "can't read file header" errors. In which case your files was corrupted by something.
I succesfully (i thought) recovered (undeleted) JPGs from a compact flash card to my harddisc.
Problem is now that when I try to open the JPGs a get messages such as "can't read file header" from Irfanview. I tried FaxViewer, Paint and IrfanView. I run XP.
Any clues?

Chowhound
Comic Vine
GameFAQs
GameSpot
Giant Bomb
TechRepublic