http://www.datarescue.com/photorescue/I have only tried this one once, although I can't vouche for it's performance since it turned out the memory stick I was trying to retrieve the pictures from was absolutely
fubared.
There are several other programs avaiable that can be used to recover lost data, although I don't know of any freeware one you can use.