I haven't opened your capx but here's an idea to do the sliding of the tiles.
1. When you start dragging store the start position, and the x,y distances to the empty space.
For example if the tiles are spaced every 100 pixels:
empty above: x,y distances= 0, -100
empty below: x,y distances= 0, 100
empty left: x,y distances= -100, 0
empty right: x,y distances= 100, 0
2. Then while dragging contain the tile's position from the start position to the x,y distances.
ex for x:
start_x + clamp( Mouse.X - start_x, min(0, x_distance), max(0,x_distance))
3. On the end of the drag just snap the tile to the grid.
Example capx:
http://dl.dropbox.com/u/5426011/examples%208/9tile.capx