seems as if the mousemove commands only check once per loop
so when you print the mouse move offsets to the screen, it seems fine. But the mouse hasn't moved again down the loop so it now equals zero. Set the mouse move to a variable at the top of the loop and check the variable... see code below.
set display mode 1024,768,32
sync on : sync rate 60 :backdrop on
x=0:y=0:z=0
make object box 1,100,100,100
position object 1,0,0,0
position camera 0,0,-500
point camera 0,0,0
do
xm = mousemovex()
ym = mousemovey()
text 1,1,str$(xm)
text 1,21,str$(ym)
text 1,41,str$(y)
if xm >0 then y=y+1
if xm <0 then y=y-1
if ym >0 then x=x+1
if ym <0 then x=x-1
rotate object 1,wrapvalue(x),wrapvalue(y),wrapvalue(z)
sync
loop
It's all fun and games 'till someone loses an arm...