I've lived in some miserably cold locations - Glennallen, AK - and a heated garage is the best solution, ha,ha. However, that's not possible in all circumstances. A unit of some kind and description that heats the engine coolant seems to work the best. A dipstick oil heater can burn the oil - magnetic oil pan heaters can be unbearably slow. I've always use an in-line coolant heater. They are relatively easy to instal, they work fast(two hours under extreme conditions) and they are not that expensive.
However, with any type of coolant heater there is always the chance they will leak coolant. Proper installation and daily checking is the only sure way to catch any leaking. If you venture into this arena of heaters and heater types, you might also want to consider electric timers. Its a real PITA to get out of bed on a really cold morning - 2-3 hours before you want to use the tractor - and plug the unit in. A timer will turn it on at any set time - even while you are still sound asleep.
I keep my tractor in an unheated shed and have never found it necessary to have any type of heater. The protection provided within the shed is sufficient. We can have temps here of -10 to -20 for up to a week at a stretch.