Have you tried replacing your thermostat? $20.00 at autozone and $5.00 for the gasket. About an hour to do. My 99's water pump blew and when it got replaced the shop never replaced the t-stat. So shortly after that it began doing similar things as yours. Just replaced the t-stat and havent had the problem since. If it is your t-stat yours would be stuck closed. OR like mine the t-stat was stuck in between open and closed but I over heated because it was stuck closed more. If its stuck open generally you have a very low engine temp and no heat while the car is in motion. Worth a try first.