I use the center of the tiles and mover objects, their image origin points to be precise (object.imagepointX(0) and object.imagepointY(0))
When i click a tile which is eligible to have my object move to, I fetch the X,Y of the image points (from click on tile) and set that in 2 instance variable of the object needing to move (lets call them targetx and targety).
on click tile
set object.targetx = int(tile.imagepointX(0))
set object.targety = int(tile.imagepointY(0))
Then, I have my object.X and object.Y to compare to the object.targetx and object.targety
Either during a loop or with every tick, you can now determine if the target locations are different from the object x,y location, and if so move.
crude example:
every tick
compare 2 variables
int(object.x) not equal to object.targetx
compare 2 variables
int(object.y) not equal to object.targety
action:
object move at angle
angle: angle(object.x,object.y,object.targetx,object.tagety)
pixels to move: 50 * dt
This simply checks if the object x,y is differrent form the target x,y and moves towards the propper position.