This shouldn't be necessary at all. Hover checks are periodic, they happen in update. Your newly opened menu should get the event. I just did a simple test:
1. ALT+SHIFT+S, ALT+SHIFT+C.
2. Another ALT+SHIFT+S, ALT+SHIFT+C covering the first one. Added UIButton to it to see hover working.
3. Attached this script to #1:
using UnityEngine;
public class Test : MonoBehaviour
{
public GameObject go;
void OnClick () { NGUITools.SetActive(go, true); }
}
4. Referenced 'go' to be the sprite from #2 and disabled that game object.
When I hit Play and click on the visible sprite, it makes the second one appear and it immediately gets highlighted because it gets OnHover handled by the button. Did you perhaps forget to add a collider to your covering menu?