>>1
Hex-Rays doesn't produce compilable code, if that's your definition of ``usable.'' It has a tendency to assign meta-tags to functions to give extra information, at the expense of losing compilability. As for using it with non-C compiled code, I've tested it with a small inline assembly stub for doing a fast software bitblt, and the C code it produced was unreadable garbage, though probably correct. You'd probably get readable results if you were do use it with Delphi, though.
If you're planning on using this for reverse engineering, and already reasonably skilled, then hex-rays doesn't really offer much. Maybe it's because I can't stand the complicated UI in IDA, but I found commenting and labelling functions in Ollydbg to be far more effective.