I've used Active@ Undelete in the past, and it's got me out of a few scrapes.

I think you can download a trial version to see if it'll find your file before you buy it, which is nice.