Parenting rotation problem

So I have a box shaped object that is a child of a cylinder shaped object. I am rotating the cylinder and its child around the cylinder's center point. Imagine a flip open cell phone or gameboy advance sp.

When I rotate the object and make key frames in the timeline, the center of rotation remains the center point of the cylinder, but as soon as I scrub through the timeline after I make the keyframes the center point is off in some random place and the rotation is way off.

I tried duplicating the scenario with other objects but I didn't have the problem. I can't remodel and start from scratch. Anyone have some advice?

I have tried all that I know.

so I have figured out that the problem is that when I reset the pivot it doesn't really reset the pivot. It uses position to simulate reseting the pivot. Is there a way to permenantly reset the pivot so that rotation alone will open and close the object?

Here's a related problem. When I open a new scene and place a polygon mesh in the center, its center of gravity is way off to the side somewhere. It seems like it should default at the center. Can anyone help?