I've used Spinrite to recover several laptop drives that were on their way out (still spinning, but many many read errors).
Also, during my forays with Carbon CF cards I found a decent free hex (windows) hex editor. Some bugs, but you can't argue with the price:
HxD<edit - nevermind about the hex editor - I just reread where you state NTFS - harder to cope with than FAT32>
<edit edit - and nevermind about Spinrite for the same reason. However R-Studio NTFS ($50) might be what you're looking for.)
-Zeke