I have a 2002 330xi. I do not get heat in through the vents unless I disconnect the wire from the heater control valve located in the engine compartment.
With the wire connected to the heat control valve, the heat control motor is extremely hot to the touch and the two heater hoses are cold. Once the wire is disconnected, I get all the heat in the world.
I have changed the climate control panel and still the same problem. The A/C works great and all the other climate control functions work as they should.