As for your pause thing, well yeah, I have a very complicated solution.
Don't use lock. Use chekvar (certain var 0x2, in which does what happens when you don't follow the person)pause for the amount of time the person will keep out of the screen for a certain time and add a setvar. And if he moves away from the tile, place a checkvar, if 0x1, 'kill script', and setvar 0x2. And, we must continue, no?
Keep following the sequence until we reach the place with the person, then do what you want.