at last, an area i know and can help with

you seem to be litrally putting the player into the tile map? I only ever did that once, and that was for an over and under engine where i had to take care of the z-ordering myself..
usually, your player would hover above the map as a seperate thing and you would simply calculate anything to do with it using its tile co-ordinates (tilex = (player_pixel_cord_x / tile_width) + scroll_offset_x : tiley = (player_pixel_cord_y / tile_width) + scroll_offset_y) - but i wont question you

you obviously know what your doing.
To smoothly move your player across like that you need a player offset. If the player litrally jumps from tile to tile i presume you are drawing it using the calculation x = player_tile_x * tile_width? (take into account any scroll of course) keeping that in mind.. you want something like this:
rem define two new variables, pox and poy (player offset x and player offset y)
GetInput:
if Upkey()
if Player(1)>0 and Map(Player(0)+MapWidth,Player(1)+(MapHeight-1))=0
if poy < 0
Player(1)=Player(1)-1
poy = tile_height
else
poy = poy - 1
endif
endif
endif
if Downkey()
if Player(1)*32<Screen Height()-Sprite Width(1) and Map(Player(0)+MapWidth,Player(1)+(MapHeight+1))=0
if poy > tile_height
Player(1)=Player(1)+1
poy = 0
else
poy = poy + 1
endif
endif
endif
if Leftkey()
if Player(0)>0 and Map(Player(0)+(MapWidth-1),Player(1)+MapHeight)=0
if pox < 0
Player(0)=Player(0)-1
pox = tile_width
else
pox = pox - 1
endif
endif
endif
if Rightkey()
if Player(0)*32<Screen width()-Sprite Width(1) and Map(Player(0)+(MapWidth+1),Player(1)+MapHeight)=0
if pox > tile_width
Player(0)=Player(0)+1
pox = 0
else
pox = pox + 1
endif
endif
endif
return
Then, when you go to draw your players sprite, draw it using these calculations for the x/y co-ordinate:
(just replace tile_x/tile_y with the players x and y tile co-ordinate)
X = (tile_x * tile_width) + pox
Y = (tile_y * tile_height) + poy
of course if you have a scrolling map add the scroll offset into the calculation too..
X = ((Tile_X + ScrollXOffset) * Tile_Width) + Pox
Y = ((Tile_Y + ScrollYOffset) * Tile_Height) + Poy
There.. that should do it.. just play with it and feel free to ask any questions you dont understand. I apologise for any silly mistakes i might of made, its quite possiable, i had NO sleep last night and im quite the zombie atm :-s