You need to flush heater radiator inside the car. I had what seems the same problem.
Disconnect both hoses for the heater on the motor side, then using a hose pipe force water, under pressure the opposite direction to the normal water flow direction through the radiator. You may want to tap the radiator to loosen some of the rubbish (sediment).
We did this with our "S" reg senic and we now have a working heater and probably also change out a perfectly go thermostat. Oh well....
I hope this helps and Merry Christmas
Ivan
December 2006