I just noticed something else..
FOR y=0 to 1
FOR x=0 TO 6
GET IMAGE 1+x+(y*7),(x*89),(y*120),(x*89)+89,(y*120)+120
NEXT x
NEXT y
You are also using x and y in this for-next loop...
You are using x and y to get the images and then to display the sprites position.. you can't do both at the same time.
Try using different variables... Try this code..
Rem +++++++++++++++++++++++++++++++++++++++++++++++++
Rem +++++++ +++++
Rem +++++++ Sprite Mania By David Harper +++++
Rem +++++++ +++++
Rem +++++++++++++++++++++++++++++++++++++++++++++++++
rem Load background
Load Bitmap "field02.bmp"
rem Activate manual syncronization
SYNC ON
rem Begin Loop
Rem Set Variables
x=230
y=200
DO
Rem variable for sprite
movehov=0
rem Control position with cursors
if leftkey()=1 then x=x-9 : movehov=-1
if rightkey()=1 then x=x+9 : movehov=1
if upkey()=1 then y=y-9
if downkey()=1 then y=y+9
rem load sprites
if movehov=-1 then Load Bitmap "runner3.bmp",1
If movehov=1 then LOAD BITMAP "runner.bmp",1
If movehov=0 then Load bitmap "runner2.bmp",1
rem Grab images for character animation
FOR yy=0 to 1
FOR xx=0 TO 6
GET IMAGE 1+xx+(yy*7),(xx*89),(yy*120),(xx*89)+89,(yy*120)+120
NEXT xx
NEXT yy
rem Delete character bitmap
DELETE BITMAP 1
Rem Animate runner
image=image+1 : IF image>12 THEN image=2
Rem wrap round screen
IF x>640 THEN x=-40
IF y>480 THEN y=-80
rem Update sprite
sprite 1,x,y,image
rem Refresh screen now
SYNC : SLEEP 20
rem End Loop
LOOP