Coincidentally enough, Lexar sells a product that is designed to recover bad memory cards:
http://www.lexar.com/software/image_rescue3.html
There are some free options that I haven't used. Google "memory card recovery" and poke around.
Whatever you do though, don't write anything new to the card. If you do, it will make the problem worse.