on these rovers, if water level drops to low in the expansion tank the water won't circulate round the heater matrix, check water level. also check the valve at the back of the engine where the heater pipes go in to the bulkhead, the cable can come off it,see if it moves when someone operates the hot/cold heater knob. other possible causes may be air lock, blocked heater matrix & because it's a rover, head gasket failing.
jim, December 2009