Selection is quite simple in NGUI. Once you press on something, it becomes selected. Selection is moved to another object when you press on that instead. If you don't clear the selection yourself, it will always point to the last object you pressed on. It's up to you to clear it when you close the menu.
As such, when you open your menu you can give selection to some button whether automatically like in the controller menu example (specified on UIKeyNavigation), or manually via your own script.
Alternatively if you don't want to use the selection you will need to write some logic on your end that checks -- is the main menu open? If yes, don't process movement events.
I'm not quite clear on the last part you wrote. OnKey gets called every frame without pressing any key? Did you check to see what events are coming from Unity's side? This sounds like a serious Unity bug if you're getting OnKey events every frame after pausing the game.