I just went through a similar problem with my heater. I tore apart the dash and saw someone previously had removed the electrical plug from control side and wired the wires into themselves directly. I could see why they did this. The plug must have melted so they just got rid of it. I went back and replaced the resistor, fan speed switch, and redid the wiring on the control side. Now it works like a champ. I am going to test the amp draw from the blower motor to see if it's drawing too many amps. If so I will replace the blower. This is a pretty common problem and there are fixes.
Blower Motor Relay Walk Through - JeepForum.com
This link shows how to wire in seperate relays to control the amount of amps drawn and reduce heat to prevent melting. I haven't yet done this but will after checking out the blower motor.