A friend pointed this one out to me and I figured I'd pass it on if you haven't seen it before: http://www.jfilerecovery.com/

It is java based but that should open it up to be used across platforms. Opinions, views and rants welcomed. I haven't tried it fully yet -- have no media that needs something recovered -- but it does sound interesting.