Sorry- by default follow script, what I actually meant was the built-in "Approach" movement; it tends to get events (or even worse: the player) stuck sometimes. I would recommend recording players X and Y, and Ongrian's X and Y. Run a check every like 2 seconds to compare Ongrian's X and Y to it's previous value (with an allowance of 1 increment or decrement, because when they get stuck they'll walk back and forth) and if it matches 3 or 4 times in a row, then run an "unstuck" command.
When I referred to offscreen events, add or subtract (based on X/Y greater or less than) from the X/Y of the player- if there's 10 tiles visible on any side of the player (based on if you're using the new resolution script or not) then if this value is greater than 10, you can run a simple "move event" (a.k.a. teleport the event for Ongrian) to, say, the nearest defined waypoint. Setting up waypoints is a bit trickier, but it's basically an event that is conditional by wether the player is in the area. You could determine this by terrain types, or tile triggers... If you hide a waypoint behind a tree or something (out of view of the player) you could potentially "spawn" (teleport) Ongrian to this location and have him step out and continue following.
Okay, after reading that, it is a bit complex. Apologies if it doesn't make any sense.
Edit: About your screenshot... Very nice but I'm hoping the top of the waterfall shows the depth perception accordingly- from this angle the bridge doesn't look right with the water. Also, why is there only one visible support beam?
The other problem is that the visible "Assumed" point of the post (as in one tile below visible, accounting for the underwater portion) is only two tiles from the rock, while the bridge is three tiles down. To be honest, this area might be better suited to a passable "ledge" on which you could use 'always on top' steam/mist events to camoflauge if the tileset doesn't support it (or edit the tileset itself or the waterfall autotile to make a ledge version. To make a ledge take a straight waterfall tile, double it vertically, and transform (stretch) it to 1/2 it's original size, making it vertically compressed, therefore showing depth. Use that with some steam and you've got a walkable ledge. Just make sure the top and bottom of the cliff account for this.
Just an idea. Another quick note: the roots of the tree in the bottom right corner look a little funny over the grass. You might try an adjustment of sorts, but it's really a minor detail.
Don't take offense, I really like it, or I wouldn't have even replied.
Edit 2: About the alternate activation (alternating activation would be more accurate) basically in this case, to make her "pushable" you would have her activatable on touch by default (the player wouldn't know this.) this touch first adds 1 to a variable (push_counter or something) then switches a switch that is a prerequisite of a common event. This common event switches switch2 on- which activates Ongria's second event page. This page is also touch activated- and runs a conditional branch if a button is held (the activate "talk" button.) If not, it turns off Switch1 and Switch2, bringing Ongria back to page one, where it adds one more then repeats. Basically, when the player is "touching" Ongria, it adds to a counter; but this setup alternates quick enough that they can still talk to her with the action key freely. Once the counter reaches, say, 30 (adjust this experimentally) have her "Move Away from Player". Make sure to check the ignore if can't move. To avoid getting stuck in an L switch, have page one check her position, too, and she was supposed to move, but didn't, pick random directions every pass until she moves successfully- then reset the counters and it won't activate again until the player walks up to her.