Found this on another site...
1. Firstly you must have a O2 sim card with the 300 free text offer.
2. Top up £10 of credit-as required.
3. Take a note of what date and time you topped up-this is important
4. Use your phone normally that month until you run out of your free (300)texts.
5. Once you`ve run out of your free (300) texts reset the date on your mobile to the date when you first topped up.
6. DON`T USE YOUR MOBILE THAT DAY, THAT MEANS DON`T MAKE A CONNECTION WITH ANYONE, BUT LEAVE YOUR PHONE SWITCHED ON!
7. The next day, make sure its after 24hrs set your phone back to the correct date.
Now all you`ll have to do is wait until the next month & you`ll get a message from O2 saying “THANK YOU FOR TOPPING UP, YOU NOW HAVE YOUR FREE TEXT MESSAGES”
You can only get 300 free text once every month, so make sure you don’t run out half way through.
Now all you have to do is repeat this every month, so no more need to top up-free texts for life