I can tell you from personal experience as I have spent at least a hundred hours cleaning the engine and underside of my unrestored 67 Mustang. I used both Simply Green and Oil Eater
http://www.oileater.com/. I used Oil Eater on oil/greasy areas and Simply Green on dirty areas. The floors look great with clean red oxide, over spray, and black out. I did loose a little of the over spray due to cleaning. The front fender under sides also are clean to the red oxide, and does have a little overspay left.
It is tough to clean without causing some damage. For example, the differential was very greasy and took a lot of scrubbing. The red oxide on the differential got duller and the markings almost disappeared. I feel it is better with it clean, but it I did loose some original details that I had to replace. It is hard to clean the engine compartment around the wiring to make sure to not break the plastic retainers.
I have tried using Purple Power, but I feel it caused some discoloration it may have been too strong or the purple color caused it to be stained. I also tried on a small section of one of the front spring cleaning it with Evapo-Rust, but it was also removing the paint so I stopped.
I would also like to know how others would clean without causing damage to 45 year old surfaces. How do you clean around bolts? Is it best to not try and remove rust from bare metal surfaces, example control arms, tie rods, driveshaft?