The reason the sprite jumps is because the point at which the sprite rotates is the top-left corner, not the center of the sprite. You can use the offset sprite command to specify where the sprite will rotate from.
I'm not too sure the way you want your sprite to move, but I modified your example code a little to how I think you want it to move.
Rem Project: 2D Game
Rem Created: 5/9/2005 10:15:06 PM
Rem ***** Main Source File *****
VeryStart:
Sync On
Sync Rate 30
Cls Rgb(0,255,0)
center text 32,0,"This way"
center text 32,15,"Up"
get Image 1,0,0,64,64,1
Beginning:
Cls Rgb(0,0,0)
Sprite 1,200,200,1
offset sprite 1,sprite width(1) / 2,sprite height(1) / 2
Sync
Do
Cls Rgb(0,0,0)
If Upkey()=1 Then Move Sprite 1,2
If Downkey()=1 Then Move Sprite 1,-2
If LeftKey()=1 then angle# = angle# - 5.0
If RightKey()=1 then angle# = angle# + 5.0
rotate sprite 1,angle#
Sync
Loop