Regarding channels, so long as your payload is not calling to deliver to a specific channel, you shouldn't need to create one. Though likewise, if you do create a channel you'll need to indicate which one you're targeting in your payload.
To the other point, it sounds like the receiver that you've registered is getting garbage collected after the app is tomb-stoned. Out of curiosity, is the object you've set as a receiver also an Activity or Service? I could imagine those objects getting torn down and needing to be recreated by starting them and passing an intent.