I had the same problem. What I did was blow water backwards through the heater core. Logically thinking, this would do a better job at freeing rust and debris because it would force the pressurized water back through the system. When I did so, all kinds of "crud" came out of the other end. Needless to say, my heat was much warmer after doing this. I agree that this was an extremely messy job.
Another thing that I noticed and this ended up being my problem was that the valve assembly somehow became somewhat crimped, which kept the valve from moving freely inside the pipe. Once I freed this up and returned the valve to the fully open position, my problem was fixed.