I was able to get the effect you want with this setup:
In this case I setup the TextVisibilityPerPage variable like you did to -1. Event #2 is a touch event that you would tie to your background tile (I have it going on any touch event) which adds 1 to the variable.
Event #3 is on the text_main object that checks an instance variable called "visibility" against the TextVisibiltyPerPage global variable and if it matches then it sets the visibility of the object.
To set this up I created three instances of the text_main object on the page and added an instance variable called "visibility" setting it to 0 for the first one, 1 for the second, and 2 for the third. The reason why I used an instance variable is because I couldn't find a way to compare the built-in UID variable of an instance in a condition. Also actions work against the object, not the instance so when you're comparing text_main.UID you're comparing the instance but the action will work against all objects. Or something like that. When I first set it up all three text objects would appear.
Also this just sets them to visible so you need to deal with setting them to invisible as well.
As a side effect I found it you add another event where you're comparing "visibility" to be not equal to TextVisibilityPerPage and an action of setting text_main to invisible, it has a toggle effect, each time you tap on the screen the first one appears, then the first one vanishes and the second one appears, then the third. Probably an easier way to do this but it was an interesting discovery.
Hope that helps.