I think you need to factor the viewport coordinates into your sprite drawing code. You can think of the viewport as a camera, or a rectangle that your are sliding across the map to indicate what you want to show on screen.
You should keep your coordinates as they are when performing collision logic (world coordinates). However when you draw the sprite you need to subtract the viewport's X and Y values to convert from world coordinates to view coordinates.
In other words:
drawPosition.X = playerPosition.X - viewPort.X;
drawPosition.Y = playerPosition.Y - viewPort.Y;
As an example, suppose your character is initially at position 100, 50 on your map and the viewport is initially set at position (0, 0). If you move your viewport 10 pixels to the right to position (10, 0), your sprite drawing coordinates become (90, 50).
That is, the player should be drawn 10 pixels to the left of the original position to reflect the fact that you panned the viewport 10 pixels to the right.
I hope that helps.
I am planning to eventually implement a moving player within the downloadable xTile demo. If you could provide me with a (legal) sprite sheet I could give it a shot in the immediate future :)