Personally, this seems a little clunky to me. Rather than checking for an overlap, processes like this is done cheaper with 'Pick nearest'. Create a bunch of Zone markers just as you would in the other example. Every tick, find the nearest one and perform the same scrolling action. As a sub-event, use the following action. It checks if scrollx / y are within a margin (in this case 1) of their target. If they are, it pauses the game, waits a specified period of time (in this case 2 seconds), and then un-pauses the game.
Zone.X - 1 < ScrollX < Zone.X + 1
Zone.Y - 1 < ScrollY < Zone.Y + 1
Trigger once while true
|-> System > Set time scale to 0
|-> System > Wait 2 seconds
|-> System > Set time scale to 1