Have you changed the player sprite from the default? Since the sprite is used for some of the collision checking, having a different sprite (at least if it's a radically different size) could lead to changes in how the collision checking acts.
How big is the jitter / sinking? Single pixels or up towards entire tiles?
Instead of setting drawangle directly, you could try lerping towards it with angle_difference (so there's a smoother transition).
(tbh there's a lot of people that would argue that rotating sprites ruins the pixel art illusion too)