Regions have their uses, but I try to avoid using them if possible, as I find other solutions more reliable and easier to manage.
The first screenshot shows how to achieve the same goal without a region. Note in the screenshot, that I am testing for [y of mouse > 40]. You will need to change that to whatever y position is lower than your config buttons and ads.
When I tested the code as shown in the first screenshot, it still had the 'double-jump' bug. I think the reason for this is that when the [set main_character_jumping to true] is first executed, the actor is still touching the ground, so your 'resting' event (the one that switches the boolean back to false), immediately takes effect, meaning that when the actor first rises off the tiles, the boolean is still set to false, hence the double-jump is allowed. When the double-jump occurs, the actor is not touching the tiles, so the jumping boolean is set to true, thus preventing a triple-jump!
A workaround for this is to set the jumping boolean to true in a [do after] block as shown in the second screenshot.
Finally, I strongly advise using behaviors, rather than attaching events directly to actors and scenes. As soon as your game starts to get slightly complex, it becomes very difficult to manage directly attached events. You will also soon find that behaviors are far more flexible, making it far easier to manipulate the attributes of actors and scenes, than it is when they are directly attached.
The only time I would recommend directly attaching events to scenes / actors is when creating single, one-off events that do not have attributes.