From memory there is a valve or switch that prevents the heater (heat) working until the engine is up to temp. This item may be giving problems.
Good - Fast - Cheap: Pick any two.
E23 735i; E30 318i; E32 735iL (X 2 - 1 White and 1 Light Blue); E34 535i; E38 735iL; R50 Cooper; R55 Cooper Clubman.
E21 318i; E32 735iL; E34 535i; E38 730iL; E53 4.4i