I'm also getting the error "No SIM card" in my Galaxy S2. 8 months left on contract.
Vodafone refused to repair, due to moisture on the main board, though I'm not convinced this is what has caused the fault. I've been reading this has been a bit of an issue with GS2, for one reason or another. (That and they sent me a quote for a HTC when I have a GS2)
It was my first trip to Bangkok, I took my phone out of flight mode, received a text from vodafone, advising I could use roaming, I took no action, then put it back in flight mode.
That was the last time my SIM worked. Had a new SIM put in when I arrived back in Sydney Australia, but same issue, SIM works in another phone.
I've checked that my IMEI isn't blacklisted, that it matches the sticker inside the phone (*#06#), I have the original stock, un-rooted, vodafone bloatware ROM currently on there.
Anyone have any idea's, other than this one from the app store (GSII_Repair) (n00bs can't post links)