EvapoRust works really well at removing light to moderate rust and it doesn't do anything to the good metal. The problems with it are that it's expensive and it loses its strength quickly.
Here is the driveshaft from my 73 Challenger. I had previously wire wheeled it and then painted it with POR-15. I sanded off the POR but as you can see, there was a lot of rust underneath that the wire wheel didn't clean off.
Next I put the driveshaft in a 5' length of PVC with a cap on one end. I filled it with EvapoRust and set it sit over night. This is what it looked like after the EvapoRust soak.
I blasted the ends to clean off the remaining POR. Then I dipped the ends in a black oxide solution from Caswell Plating. That darkened the cast ends. I added heat marks on the welds and finally, RPMed everything to keep it from rusting again.
Here you can see what the EvapoRust did to the rear end center section. I could see that there was probably some paint markings under all the rust but I couldn't make out what they were. I had some used up EvapoRust that I was going to dump but decided to see if it had anything left in it. I let the center section soak overnight.