As James said, it is either the control dial or the resistor in the heater blower.
Check with a multimeter that all the contacts in the dial are working (see image) The extra wires are where I added in blue LEDs and are not normal.
http://img29.exs.cx/img29/7586/heater.jpg
If these are fine then its the blower resistor. This entails removing the wipers, scuttle and the ECU to remove the blower. It is a pain to get out as its a very tight fit.
Once out, use the multimeter to test each of the three resistors in the multiplug. One will have probably blown.
A new one will cost about £12.
Mine failed last winter, I had the 3 blower speeds but no heat. Typical timing!
/Mad