ive been reading about the heating system and i think im officially almost an expert now llol...il send you the link for proper e90 manual if you want
you need to to jack the front end of your car up, high as you can.not on a hill... but on stands or a jack...
the reason for this and why your heaters may have started working when you jacked 1 side of the car up is..because...and no one cared to mention this before so i didnt understand,
but the radiator core is a high point in the car.air will stay stuck in the high point till it is filled manually...at a tilt, then manually bleeded/refilled at a tilt making the core fill up with water first because its a low point in the car coolant system whilst being tilted and the air moving out to the next high point in the car (water tank).
if this doesnt fix your problem mate i do not know what will...for me it doesnt make sense to be anything else...so try it asap and let us know. !