If your core is not leaking and your linkage is okay, the problem may be a partially clogged heater core. I fought with mine and finally got some Zerex radiator cleaner, reversed the heater hoses to get backwards flow and let it run for an hour, drained and refilled with 50/50 antifreeze and the heater now works excellent. The crap that came out with the cleaner was nasty! Might be worth a try.
Junkman