Mpg numbers are irrelevant as they don't cover how long the heating has been on for vs how much you have driven.
The diesel heater control panel controls speed of the diesel pump. More often clicks more fuel that is used. - each click should be 0.022ml for a 5kw (most) heater. So a pulse rate of 2Hz (2 clicks per second) is 2.6ml per min 158ml per hr, and hence uses 1L per 6 hours or so of constant running.
You do not adjust the fuel flow any other way, its directly proportional to the power setting and thats down to your controller. You can tweak that on most in admin settings, but that leads to early coking issues as it adjusts the fuel/air mix. Assume you have not had any thing else done to adjust fuel flow as it makes no sense, and makes no sense an engineer was needed to change it?
Only you know how long its been on for vs how long you've driven. Assuming you drive 100 miles @ 24mpg = 4g=19 L. 100miles @ 16mpg = 28 . So 9L difference. 9L of fuel would run the heater for 54 hrs at 2hz (low) or 24hrs on 5hz (high)
If that about right, well thats about right.
If not, you potentially, you could have a fuel leak somewhere, or it draining somewhere.
As for heater not getting hot, they are basic, and depends how hot you are running it...... fuel + air = burn and heat. May need a decoke (more needed if using engine diesel rather than kerosene) - but you would also get other symptoms like poor starting or smoke exhaust - I'd *expect* it to generate similar heat even if coked - but no experience of that. Assume you've checked all pipes for leaks, and checked/swapped fuel filter (though again, i'd not expect that to be the fix).