I have used POR-15 with great success. I have used it on truck frames that are exposed to sand and salt all winter, and on steel battey boxes. It has been three years since I first used it and I haven't had to touch up anything yet.
I've been using it on the sheet metal of my 75 BMW 2002, and it seems to work really well. First, sand down and remove as much as possible, then hit it with the stuff. I think it gets into tight spots better that you can, especially if you're not doing a full body off restoration. I don't plan on using it on the undercarriage.