I used Rust Bullet for my frame and underside of the body. If used correctly, follow temp and humidity requirements, it works great and won't come off easily. I did go way beyond cleaning all of the surface rust though. My frame and underside were wired wheeled to clean metal......everywhere. If I had the physical means to reach the rust, I cleaned it all off. I prepped all of the metal after by applying Rust Bullet Metal Blast, same stuff as POR-15 Metal Prep, to condition the bare metal.
Now the metal is ready for Rust Bullet. I do a thin first coat because a heavy one will bubble up from the chemical stuff happening with the rust. If this happens to the first coat, sand it flat and then do a second heavier coat. I only had that happen once, and sanding it out was easy. Definitely let it dry the required amount of time in between coats, if you wait to long you can scuff it then recoat. I only do 2 coats, then I top it with KBS Blacktop Satin.
I had to redo a couple of spots where I had the Rust Bullet applied, and it is certainly tough. The KBS comes off quickly with a grinding pad, but the Rust Bullet takes a lot more work. I used a brush to paint it on, works well if you don't go too heavy. If I do it again, I will probably spray it with a cheap spray gun. Good luck!