Advice from a veteran:
X=X+TX
is the same as
INC X,TX
Also you should not use a loop to move a sprite
consider this:
VAR SX,SY,TX,TY
STICK OUT TX,TY
SPOFS 0 OUT SX,SY
SPANIM 0,"XY",-10,SX+TX*100,SY+TY*100
Experiment with the -10 and 100s
Its not tested but I am almost certain it works, and it will never show signs of lag
Also VSYNC 1 can be dangerous, and very hard on the battery
Try VSYNC 3 or so, but if you just use SPANIM to move stuff, then you could even do WAIT 5 or so, you only need to look for the input