Read this post please! It's possible that you uses a simple broadcast receiver then broadcast receiver don't guarantee the service is working always finally if you want to have service works all time you need to use WakefulBroadcastReceiver class.
-- Edited 2 hours later --
This is not limitation from WakefulBroadcastReceiver class, then you're missing something because WakefulBroadcastReceiver class it's prepared for this situations. If I force to close my app this one can receive notifications from the GCM in my case... Then I have a few questions...
- It's obviously that something is incorrect... We need to see your code (Receiver and Intent).
- In the other cases you can receive push?
Tell me if I helped you and good programming!