Don't forget to check your coolant level. I just had a similar problem and it was the coolant level. Check it with the engine hot and the heater on max. Also, the system must be bled well, or the fluid won't circulate through the heater core. If it seems like the coolant level is fine and you've bled the system, but still only get cold air, try this. Open the reservoir cap on the hot engine (be careful...) and leave it open with the car running. Then put the heater on max. Finally, rev the engine a couple of times. You should begin to feel heat come out of the vents. If all that works, to get all the air bubbles out of the system, you can open the bleed screw and replace the cap. Let the engine run with the bleed screw out till no more little bubbles come out. You shouldn't have any heater gurgling sound after that. Finally, top off the reservoir and you are done. I found the source of my problem to be a cracked gasket around the radiator cap, so i replaced the cap to avoid having to do all this in the future.
1990 300E 125k Miles
1994 S420 100k Miles