There are several things that can be done to improve on your code.
One of the first things you need to learn is forcing the resolution. Not everybody uses the same resolution so you need to force it on people to make sure what you made is being shown exactly how you want it. "set display mode 640,480,32"
You have "sync on" which is good but you need to add "sync rate 0" to have the computer run as fast as it can while running your program.
As Robot posted you need to have sprite commands in the do loop. You had them outside the do loop causing them to never be updated with the movement changes.
You have a full screen sprite as the main menu (I assume since you didn't upload media). All that does is slow down your program. It's better to paste the image to the screen.
I rewrote the menu code a bit to use while instead of a if then loop (just 'cause I like it better

) And I moved it outside of the main do loop of the character movement. Normally you don't have title menu checks in the middle of gameplay (just in case something goes horribly wrong and a title menu pops up while you're moving).
You don't need to have 4 separate sprites to achieve animation. The last number in a sprite command is which image to use. That is what needs to be changed instead of hide sprite such-n-such to animate a sprite... the less sprites you use the faster the game.
And of course to get the character to move properly you need to use the right variable and subtract or add to get the right direction (as Robot did).
Up = chary - ##
Down = chary + ##
Left = charx - ##
Right = charx + ##
That's about it. Hope this helps:
set display mode 640,480,32
sync rate 0
sync on
load image "title.bmp",1
load image "tomfront.bmp",2
load image "tomback.bmp",3
load image "tomside(left).bmp",4
load image "tomside(right).bmp",5
load image "room1.bmp",6
charx = 200
chary = 300
sprite 1,charx,chary,2
hide sprite 1
paste image 1,0,0
title = 1
while title=1
if mousex()>183 and mousex()<336 and mousey()>431 and mousey()<470
if mouseclick()>0
paste image 6,0,0
title = 0
hide mouse
show sprite 1
endif
endif
sync
endwhile
`Beginning Game Properties
do
`GamePlay
if upkey()>0
chary = chary - 3
sprite 1,charx,chary,3
endif
if downkey()>0
chary = chary + 3
sprite 1,charx,chary,2
endif
if leftkey()>0
charx = charx - 3
sprite 1,charx,chary,4
endif
if rightkey()>0
charx = charx + 3
sprite 1,charx,chary,5
endif
sync
loop