I've just had this same problem and found the solution. Partly thanks to your guys posting on here.
I realised that is someone sends a text to me it's fine, but if they send an imessage i'll never receive it.
Go to Settings
Scroll down to Messages
You will see that imessage is turned on but says something like "waiting for activation" or some other message that implies its not working right.
Turn imessage off then on again. It will say waiting for activation again but there will be an option you can press just underneath it that allows you to signin using your apple id, that's the key. Do this.
Once you're signed in with your apple id imessage will work again and the problem is solved.
I hope that helps people as it's just taken me 2 hours including calls to O2 customer service, software updates and all sorts before I found the solution. Hopefully this will save some of you the same frustration I just had.