Exactly. When you’re doing animation, the animation IPOs determine the location, scale, rotation and so-forth of the object (according to whatever keyframes and/or actions or what-not you have set).
When you reopen the file, it’s (of course…) positioned at “frame #X,” and what you’re seeing in the various windows is the object as it would be “on frame #X.” If you move it but do not (re-)set a keyframe (or what-have-you…), then your changes go-away when you change frames (or reload), because the animation system has dutifully performed its calculations all over again.
It definitely qualifies as a " :ba: problem." (Hint: Attaching a padded cushion to the nearest wall or fence-post will definitely save your forehead from needless bruises and lacerations.)