If you are eventually getting heat, it sounds like an engine temperature issue. Have the engine operating temperature checked and see how soon the thermostat opens (does it ever close?).
Heater control valve is possible, but check engine temperature first.