My suggestion would be to ditch the 'move object' command and position the object manually using x, y and z values. You can then freely rotate the object however you like without affecting its movement. Here's a small example to show you what I mean:
Rem ***** Main Source File *****
sync on : sync rate 60
make object plain 1, 10, 10
position camera 0, 0, -70
x as float = 0
y as float = 0
do
// move and bank plain
// W
if keystate(17)= 1
y = y + 1.0
xrotate object 1, 20.0
ENDIF
//S
if keystate(31)=1
y = y - 1.0
xrotate object 1, 340.0
ENDIF
//A
if keystate(30)=1
x = x - 1.0
yrotate object 1, 20.0
ENDIF
//D
if keystate(32)=1
x = x + 1.0
yrotate object 1, 340.0
ENDIF
// reset if no key is being pressed
if inkey$()="" then rotate object 1, 0, 0, 0
// position the object
position object 1, x, y, 0
// text
text 0, 0, "Use WASD to move"
//update screen
sync
LOOP