I'm not sure why this happens, but it involves a pretty complicated part of the Physics behavior. For changing animation frames to have an effect on the Physics simulation, the only thing Construct 2 can do is destroy the physics body in the simulation then recreate it. If you destroy the body, all its joints are removed as well. C2 is now smart enough to know which joints you had and re-create them after recreating the body, but for some reason the joint drifts ever so slightly, which accumulates if you do this repeatedly.
I don't know why this happens - it might be a Box2D issue - but it really is best just to use an invisible object with no animations that you never resize as the physics object to connect joints to. Then the engine never has to destroy the physics body and recreate the joints, which appears to cause this bug.
In fact since this is an old bug report and there's probably not a good engine solution, I'm going to close this as won't fix. The separate non-animated object is a good workaround and should be perfectly reliable.