If the head gasket is leaking combustion into the cooling system, the resulting air pockets can block flow. Revving the motor can sometimes move the air and there will be flow again. This could explain your overheating and heat problem. Since a head gasket is not exactly unheard of in these vehicles, you may want to get it checked.