The problem is the check valve on the back of the water heater in the hot water outlet has failed. They are usually a brass nipple with the check valve assembly built into it, and it should be 1/2" pipe thread. It can be replaced without removing the water heater, just takes long arms and a good pipe wrench. Brass is what is on our water heater, other years may be different. This is what you are looking for, and you can probably find one at a good hardware or plumbing supply store.
http://www.trekwood.com/products/113...-2Mpt-x-1-2Mpt
It's still possible that the water heater bypass valve is not working, but I'm thinking it's the check valve because, if the check valve allows water to go backwards into the tank, the bypass valve does not prevent this, just stops water from entering the cold water inlet to the water heater tank.