eww... theres an elephant in the room am i the only one that sees it??
I hate to say it but it sounds like head gasket. I hope im wrong.
head gasket will cause fluctuating temps.
cause air in the system which explains your heater not working properly.
and when you shut it off coolant enters the cylinder and when you restart it makes the plug wet with water so it doesnt fire properly till the plug dries off. eventually the plug will quit drying off... Ive said enough