I had a similar problem except on mine I was receiving no heat the majority of the time but every once in a while there was heat. My problem was I had a bad monovalve. The monovalve is located to the right of the battery on the engine side of the firewall. The top should have 4 screws and a electrical plug on top with a metal cylinder poking out about a half inch. Unscrew the 4 screws and unplug the electrical wire. Pull the core of the monovalve out and then pull the bottom half out. You should now have just the part the was sticking out the top (looks king of like a spark plug but larger). There should be a plunger type thing that should be able to be pulled out about 1/4 inch or so. Pull this out and check to see if there is a rubber seal that goes for the outside to the middle plunger-like thing. If this has disintegrated then that is your problem. Go to fastlane and search for the monovalve repair kit (around $35) and put the pieces that come in the box (spark-plug like thing and bumpy washer) in place of the faulty ones in the monovalve and reassemble. Now your heater should work like new.
89 300E Pearl Grey Metallic
7 Spoke 16" staggered wheels (SLK)
215/55/16 Hankook Ventus HRII H405 tires
Smoked red/clear tail lights
1987 300e Black Metallic (mom's car)
8 hole 15" wheels (C Class)
Red/Smoked tail lights