When you call the mousemovex() function, it returns the amount of movement since the last mousemovex() call (or sync update). In your above code, you called it twice on the same line. There would not be any difference between the mouse's position after the last time it was called.
A simple example of a return function being called twice:
global a
do
//Will output 2 even though it is checking for 1
if Check_A() = 1 then b = Check_A()
set cursor 0,0: print b
sync
loop
end
function Check_A()
inc a
endfunction a
Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.