The problem is people forget to unregister their phone number with their Apple ID. If you are signed in to any other device to send and receive iMessages from your phone number that is attached to your Apple ID that info will stay on the other device until you sign out and back in. The problem gets worse for other people that send you iMessages cause their phone doesn't know you can't receive iMessages anymore cause of how Apple has iMessage setup. Apple has it setup in a way so if your phone or iOS device isn't connected to wifi or cellular data at the time the other person sends you an iMessage, you will get that message still when your iOS device connects back to the internet.
The only solution I found so far is when you get a new phone that is not an iPhone is to send a SMS message to those people with an iPhone once or twice (or three times if you want) that way the other persons iPhone knows not to send an iMessage to your new phone. The other solution (and I recommend this to anyone that has an iPhone) is to turn on "send as SMS" that way your iPhone will send the iMessage as a SMS/MMS message after X amount of minutes (usually 5-10 minutes). This is really helpful if you are in a low signal reception area or if your wifi has a problem.
Sent from my iPhone 5S or Jailbroken 5th gen iPod Touch using Tapatalk