Maybe the thermostat is staying open too much. Is the engine warming up fully-if not then recheck the termo. and make sure it opens at the right temp. Also, you may have another coolant system issue that is related to this.
I had a very similar problem. The heat was barely warm and the higher you turn on fan, the cooler it got. For me, I had to replace the heater core and that solved my problem. Just one solution to think about.