1. Pixel movement scripts can mess it up. That includes Blizz-ABS.
2. You might want to include $game_map.display_x and $game_map.display_y in the position calculation as well. They are x and y times 128, so there are 4x4 x,y coordinates in one pixel.