having lived in North Dakota for 11 years, i feel qualified to answer some of these questions, but not specifically for diesels but for engines in general.
Any heat on the engine is going to help, so most all the products have there benefits.
Oil pan heaters heat the oil specifically, but only a limited amount of the heat gets to the rest of the block. Keeping the oil thin is your most important part of warming a engine. I've seen people start a engine in sub-zero weather, but the oil was too thick and it destroys the cam shaft- so just because a engine will start, doesn't mean it should be run. The magnetic ones would have the possibility of being knocked off on a tractor during operation, have seen some models that are glued on.
Wolverine Engine Oil Heaters
there was a model you put into the dipstick tube, but then you have to remove it before starting.
Coolant or block heaters warm the coolant, the advantage is that the warmed coolant circulates in the block and spreads the heat around the engine. remember, the oil is in the bottom of the pans and doesn't contact the coolant when not running, so the oil will stay mostly cold.
There are several different models of block heaters; the most common thought of replaces a freeze plug (or a threaded plug as in a Subaru). Some heaters can fit into a cut heater hose with a reservoir tank, or a common one fit into the cut lower radiator hose. I used this model on a ford LTD that getting to the block was near imposable. a disadvantage to watch for is the heat damaging the heater hose, over the long term.
IF you live in a obscene weather area, I suggest both types, coolant and oil. In my F-250 I had 3 heaters- stick on oil pan heater, block heater, and a special space heater in the car.