My boat came with a Webasto diesel heater (cold Swedish summers, I guess). It burns the fuel pretty thoroughly - so there is no smoke, or soot and only the slightest smell of diesel at the exhaust port. Having it connected to the engine fuel tank spares us from having to carry separate fuel, or for that matter monitor a heater tank level. Most all diesel heaters eventually foul their fuel nozzle from the particulates in diesel. Once a year it is a good idea to run it on kerosene to clean the fuel nozzle (according to the Webasto rep.)
I have no reason to think that this solution is any better than the other heating choices you list, but if you do go this way, there is no reason to worry soot or the stench of diesel. Ours got a pretty good workout on the Bay of Fundy in August!
Last edited by wwilson; 02-18-2010 at 04:17 PM.