Are you absolutely sure you register the listener in the extension (crome.pushMessaging.onMessage.addListener) every time the app starts (in initial JS script of background page)? I'm pretty sure you do, but just in case... Also, make sure you didn't change the app id somewhere in the process - that would change the channelId. It probably would prevent the messages to even come to your machine then, because it won't be registering for the old channelId on Chrome startup, but who knows, it sometimes happens when developers have a test and release app versions installed on the same machine and they have different Ids so only one of them wakes up and it's not the right one...
If you see notifications coming over the wire, they should definitely come into that event. Unfortunately, there is no diagnostic page or log that is available to see how Chrome processes the incoming messages...
Are the XMPP messages looking like the right push messages? If they are delivered, that means some app in your Chrome is installed with proper app id/user profile combination.
One reason the app can miss them is if it ever started w/o registering the onMessage event listener. It should do it every time its background page is activated, from the initial script of the background page, not from another event handler.
I wonder if it gives you more food for thought and checks... Let me know!