Air in the system will cause temp. gauge changes depending on where the sending unit is just as KenDiesel advised about the t-stat. That air may be causing the change when not level. A blown head gasket doesn't always put engine oil into the water. If it's blown between the cylinder and water jacket, that would just put air into the system but I'm surprises that it isn't sucking any water into the cylinder on the intake stroke. Maybe just a very small gasket crack, enough for air but not water. From all you've done so far, I'd pull the pump and do like KiotiJohn mentioned. You'll get an idea about the pump and see if the block is loaded with crud somehow. Rodding out a radiator is usually cheap and good insurance for 10 years of possible neglect. You've changed the t-stat, rodded radiator, checked the pump, temp. gauge is reading correct; head gasket would be next. Maybe I missed it, but did you originally drain antifreeze. I would hate to think that someone just used water or a week mix and you have a cracked block. Up North, where I live, people have been know to do that with their I/O boats and ruin a perfectly good engine. Let us know the results of your next test.