In both the USA and Russia locos are (or were) left running for weeks (at least) in the winter, because of both the difficulties of starting them in the cold and also to overcome the use of plain water in the coolant, which would otherwise freeze in the block and everywhere else. The old GM 567B engine, universal in 1940s-50s US GM diesels, used to get through gallons of water per hour, all over the engine room floor which had drain holes, it was a known water leak problem that took GM ages to overcome in this otherwise extremely well-regarded prime mover (hence why costly anti-freeze was not practical), so you had to watch it when the engine was ticking over as well. They had an auto stop if coolant ran low, and in some cold places where this could then lead to the freezing problem of what remained, a device called an "engine watcher", which was a microphone on a pole alongside where the loco was parked, was installed, which listened to the thrum of it ticking over and sent a message to the dispatcher far away if all went quiet. Trains Magazine ran a couple of stories about these.
Pre-heaters, as I understand them (and I'm not mechanically trained so please help out) are an electric heater, run off the batteries, which warm up and circulate the cooling water, bringing the engine block up to a certain temperature, which aids starting up. Do the Class 50 enthusiasts have to drain the coolant after each use in winter, and refill before starting?
Old aircraft piston engines were far more of a problem, they of course have to cope with a huge range of temperatures, and the thermal expansion of the components that goes with that, from starting at +40C in the tropics to running in -50C when at altitude. The common type of air-cooled "radial" engine, with the cylinders arranged star-shape, maybe nine of them around the central crankshaft, would suffer from lubricating oil penetrating past the piston rings of the lower cylinders when parked, starting them up would burn off this oil with huge clouds of smoke.