Hi first off, if heater blows cold air whether driving or standing still, probable causes are
1. it's not the thermostat, reason - hot water flows through the heater matrix from the cylinder block so the heater will still work, how hot depends whether thermostat is open or closed. Considering everything else is ok.
2. blocked heater matrix hot water cannot flow through heater matrix so blows cold air, very expensive to repair but depends on how heater matrix has to be removed. Check both inlet and outlet pipes of heater matrix if hot see (3)
3. Water is not flowing through heater matrix because of insufficient force. Water heats up through engine running, thermostat opens letting hot water out of engine and into radiator, water flows through simple physics ie hot water rises and pushes cold water out of radiator and into engine. Eventually thermostat remains open and then cooling fan starts cooling water in radiator so engine does not overheat.
Sometimes heater starts to blow warm air when standing still and engine is revved but goes cold when engine returns to idle or does not get warm at all, reason - water pump is knackered and is cheaper to replace than heater matrix, if heater is still cold replace heater matrix
Ken Roper, December 2007