I recall the max limit for global variables being somewhat fuzzy, and somewhat variable (no pun intended) based on how long (char count) the total variable strings might be, available system resources, etc. You can have more than 27 global variables but reliability may be at risk, or if you have a lot of data stored in global variables, maybe 27 is too many, or maybe your prototype works on some devices and browsers, but not others, etc.
@sirtommy, How much data and how many global variables do you need to pass between pages? If you are using a global variable only for temporary or calculation purposes on the same page, it may well be worth using widget text values as a form of “page-local variable”. This could help with your “inconsistent math” issues as well, especially if you have multiple repeaters trying to use the same global variables for different calculations. For example, if you have a global variable named SumAdmin and don’t need to use it on other pages (or if it’s value is dynamic and can change on the page before navigating to another page) you could just use a rectangle widget with the same name and a Set Text Value action instead of Set Variable Value.
When I have complex or calc-heavy repeaters, input forms, pages, etc., I will make a “Data Panel” to house page-local variables and “sub-routine widgets”–a dynamic panel (or group) with a bunch of rectangle widgets used to store data values and/or functions. I keep it shown by default in the editor and assign a Loaded event to “Hide This” so it doesn’t show in the prototype/browser (which I find easier to use than hiding each widget on the canvas.) If I need to debug things, I’ll include a Page Key Up event with condition to test for a “god mode” key or combo, like Shift+Alt+V or something, that toggles visibility of my data panel. In your case, each of your repeaters could have its own data panel (which I often do as well–creating a dynamic panel from my repeater and then nesting another dynamic panel next to the repeater so they are all logically together.) Just be sure to name all your page-local variables uniquely.