My first thought was to be sure there was sufficient coolant level in the reservoir; if it's below the "MIN" mark, the heater will blow cold air. Sounds like you've checked that, though.
My next thought would be the thermostat sticking or a coolant flow line getting blocked somehow...?
X3 w/6-speed & Sport Package:
A sports sedan disguised as an SUV...