i was just browsing the forums and i saw your post so I thought I would register as i might be able to help.
If I had the same problem as you i would do the following.
1. I would boot into a distro such as backtrack or any other that has DD. using DD I would create a image of the disk onto the external drive.
dd if=/dev/hda of=/mnt/usb/hdd.img (or whatever the external disk is mounted as).
2. once I have that image i would use a tool such as foremost to run through the image and pull alot of the files out.
foremost -v -o /home/loic/dump /mnt/usb/hdd.img
This should pull many filetypes out and place them in folders within a folder called dump (create this folder before you start) in your home drive.
Or you could boot into backtrack, mount the external drive as say /mnt/usb and then run foremost direct to that without creating the image.
foremost -v -o /mnt/usb/dump /dev/hda
This would be quicker than ceating the image first obviously.
I have just put a post up on my blog about simple data recovery at http://synjunkie.blogspot.com
I hope this might have been of use to you.