I think we might have a little confusion creeping in here between:
1. Recovering the underlying data from an overwritten drive.
2. Recovering data.
People I have spoken to from data recovery outfits will gleefully have a go at #2, but #1 is beyond them.
To recover the data they first see if they can repair the drive. If not they try to read the platters with special heads and equipment, and if that doesn't work they will try scanning electron microscopy (if you will pay for it :eek:)
Obviously, this is a completely different situation, as you are only interested in the top layer, or "current" data.
The only thing that software tools are really useful for is recovering data from corrupted drives.
:)
EDIT: this is an interesting link on the subject
http://www.nber.org/sys-admin/overwr...a-guttman.html