I have two iPhone 4 devices, one on VZW (work) and one on ATTWS (personal). My ATTWS device gets a notification for new email on a 15-minute fetch schedule before my VZW device almost every time - the settings are identical on each device, sometimes by a minute and sometimes by several minutes. It was the same with my BB devices (using BIS). I've learned to live with it.
Originally Posted by robertusvi
You, like almost everyone else, are missing something about the Mail app and its badge - the "push" is to the badge, not to the Mail app. Notifications to the Mail app badge are all done via XMPP. When the Mail app is opened and for iCloud/MM email, the app then refreshes or fetches email changes (reconciling) when on Push or Fetch settings; the Mail app will fetch according to the Fetch schedule when set to "Fetch". On "Push" for iCloud email the Badge and Mail app aren't synced, by design. Apple may be "working on it" but IMO they've got other bigger issues to resolve first. IMO give up the whole need to keep your devices both set to "Push" - either set both to Fetch or keep just your primary device set to Push and your slave device set to Fetch (and the slave will reconcile automatically in the background). I keep a WebOS device (with real IMAP for MM/iCloud - go figure?) running in the background to notify me of emails - it even beat my BES server and BB BIS which is partly why I keep it around.