Since you hearted this it brought it back to my attention so I tested it.
The green part is where it was first.
It tweens to AnchorPoint 0.5,0.5 first,
then it tweens to the solution I gave you.
-- Same code for position, just changed it from TweenPosition
gui.Position = UDim2.fromOffset(oldAP.X + (gui.AbsoluteSize.X * desiredAnchorPoint.X), oldAP.Y + (gui.AbsoluteSize.Y * desiredAnchorPoint.Y))