Instead of adding to the sprite y() value, you could establish float variables to handle a smaller addition, like this :
INK RGB(0,0,0), RGB(255,255,255)
Set Image Colorkey 255,255,255
set display mode 1024,768,32
create animated sprite 1,"walk55.100.bmp",3,1,1
x#=10.0 : y#=0.0
sprite 1,x,y,1
do
IF 0=downkey() then set sprite frame 1,1
IF 1=DOWNKEY() then y#=y#+.1 : sprite 1,x#,y#,sprite frame(1) : play sprite 1,2,3,100
loop
A better way is to simply turn the sync on and set the sync rate, like this:
sync on : sync rate 60
INK RGB(0,0,0), RGB(255,255,255)
Set Image Colorkey 255,255,255
set display mode 1024,768,32
create animated sprite 1,"walk55.100.bmp",3,1,1
sprite 1,10,0,1
do
IF 0=downkey() then set sprite frame 1,1
IF 1=DOWNKEY()then sprite 1,sprite x(1),sprite y(1)+1,sprite frame(1) : play sprite 1,2,3,100
sync
loop
Otherwise your code's speed will depend on the machine's speed in which it is being ran. Moving by 1 is not very much, let alone going with smaller increments than that. It can be done, as you see in the first example, but I would recommend against it.
LB