Well, I worked around it, but...
I have a tap to move 2D game -- sort of the same approach as BattleHeart, if you're familiar with that game. You tap on screen & your character moves towards it. Pretty simple & I have all of that working through my own Input Controller FSM.
There is a second input controller for a full-screen minigame, which detects input anywhere on the screen.
When I added NGUI to build the UI, however, I added a pause button to the game. It sits at the top middle of the screen. This entire issue came down to this: Once the UI was in place, if I tap on the pause button, NGUI read that input but so did my Input Controller FSM -- causing my character to walk towards the top, middle of the screen whenever I tried to pause the game.
To be clear, the game DID pause, but as soon as it unpaused, the character continued moving towards the top middle.
All I wanted to do was to find a way to stop the input from being detected by any other input controller FSM *if* it was initiated on/at an NGUI button.
That's all, but I never was able to make it work quite right, until...
I worked around it by moving my pause button INTO the game space and out of the actual UI. I do not think that was the best, most elegant way to do it, but it works and I had to move on to bigger issues.
The game is done now, and in review with Apple. I'll post info about it once I get the green light from them.