The problem was the order in which the code is executed.
if( %client.player.oldPosition !$= mFloor(getWord(%pos,0)) SPC mFloor(getWord(%pos,1)) SPC mFloor(getWord(%pos,2)) )
is compiled like
if( ( %client.player.oldPosition !$= mFloor(getWord(%pos,0)) ) SPC mFloor(getWord(%pos,1)) SPC mFloor(getWord(%pos,2)) )
but we want
if( %client.player.oldPosition !$= ( mFloor(getWord(%pos,0)) SPC mFloor(getWord(%pos,1)) SPC mFloor(getWord(%pos,2)) ) )