That IS a common event.
I'm not sure why you added the self switch to the map event - I didn't say to. As you have it, that event would never erase, because you've got the Erase Event on a new page triggered by action button, with no sprite. That would only ever be executed if the player walked onto that event and pressed space. However, even if it worked, it's not doing what you think it's doing. To stop the common event running you would need to turn off the switch that controls it, not erase the event that turned it on. But then that'd stop all the checking for exploration, which isn't what you want.
You know what? It might be better to actually not do this as a common event at all - that way you don't have to worry about the switch or erasing events, and you can keep the event shorter by just restricting the options to the map you're on. If you want to go that way, just set up a parallel process on each map that only has one page, no self switches, no erase command, no conditions, and copy/paste the code from the common event into it - then get rid of all the processing for the maps that aren't this map. That should make it run faster as it's not checking for every single map. Then you can get rid of the common event altogether.
As for your regions ... you don't need to put region 1 everywhere you don't have a region. You could just leave it blank. I can see a few issues where you could be standing facing one thing, but your event will trigger the text for an object that's behind you - check out that region 6 at the bottom of the object to the right of "the others do nothing" text. If you're standing on that tile and facing up, you'll get the right text, but if you're facing down, you should get the text for region 12, but you'll get the text for region 6 instead. What you could do to avoid that is to put the region ON the object being investigated rather than surrounding it, and instead of using $game_player.region_id to check the region, use this: $game_map.region_id($game_map.x_with_direction($game_player.x, $game_player.direction), $game_map.y_with_direction($game_player.y, $game_player.direction) - this will get the region id of the tile in front of the player, adjusted for their facing direction. It's a long script line though so I'm not sure if it will fit in the conditional branch. If it doesn't, and you want to use it, let me know, and I'll give you a script to add that will provide a much-shortened form.
As far as why it won't work on those other tiles - I can't think of any reason, apart from timing. Are you just pressing and releasing the key? Are you holding it down? You've got a 60 frame wait there - that's a whole second. You could change it to 5 frames and still not have the lag issues.