Most sources, including Lycoming and Continental, state that you should NOT leave the heat on full time.
http://www.reiffpreheat.com/Continental SIL 03-1 Cold Wx Ops.pdf
"2. Begin preheating of the engine at least 5 hours prior to expected departure. However, do not leave the engine preheating system in operation for more than 24 hours."
That said, in my case (unheated T-hangar), I have measured under cowl temp and humidity. With outside temps around 20F, I saw under cowl temps of 20 - 30F (south facing hangar door so midday to afternoon, hangar is warmer), but relative humidity of 80 - 90%.
With an oil sump heater only (no cylinder bands) and no insulated blanket, I saw 75F and about 15% RH.
So what is safer for the engine?
At 30F and 80% RH, there is 2.69 grams of water per kg of air. If the temp drops to 24F, there will be condensation.
At 75F and 15% RH, there is 2.72 grams of water per kg of air. To get condensation, the temp would have to drop to the same 24F.
Which is more likely, a heated engine dropping temp 50 degrees or an unheated engine dropping 6 degrees? So which is safer, low temp but possible condensation or higher temp (faster chemical reactions) but no chance of condensation?
Some quick research states that wet corrosion requires the present of liquid water and is a fast process. Dry corrosion is without liquid water, and is a slow process.
The owner of the FBO on my home drome (A&P/IA) is a fan of heat on all the time. Most of his planes are school planes, so fly often. But others, that do not fly as much also follow his advice.