Though it's limited to partition recovery operations (damaged or overwritten), Active@ Partition Recovery could be all you need to recover your data. In some cases, when the only portion of the hard drive that's damaged (or overwritten) is the partition table, simply restoring a partition will magically bring back all your data. Actually, the data isn't brought back--it was there all along, but without any OS-recognizable indication to its existence. Recovering the partition just makes it possible to see it again.
Semantics and metaphysical-sounding explanations aside, Active@ Partition Recovery (various prices for various Windows and DOS versions; $40 for least expensive Windows version) can scan your hard drive for information about existing or previous partitions and present you with a list of them. Then you simply choose which partition (or even partitions, if they didn't occupy the same space) you want, and the program will restore it. Keep in mind that if you've written data to a new partition that you created over an old one, the much of the old data will likely have been overwritten. Unfortunately, many accidental partition overwrites are discovered late as they are caused my mistaking one drive for another. Don't ask how I know about that.
My only real complaint about Active@ Partition Recovery is that it's rather pricey for a one-trick pony. I strongly suggest that you consider the Professional version of Active@ File Recovery which also offers partition recovery, in addition to sector-by-sector file recovery and is only about $10 more than either program by itself.