You have narrowed it down to the heating - air conditioning system. The car is not that old, so I would lean toward the problem being somewhere in the ventilation controls. Cold heater air when engine temp is normal usually means a problem with the heater core. Either the core itself is clogged or some valve that regulates the fluid to it is malfunctioning. Some cars have elaborate ducting with doors and compartments that open and close per temp control switch settings on the dash. If you have any sliding controls on cables, check to see if they are actually doing anything when you move them. The variable thermostat switch in the dash is a likely suspect. Once you find the problem, fixing it is either buying a manual or paying a shop.