the real flaw
imagine this:
you don't have a data plan on the iPhone. You have wifi at home and at work, and no need for a data plan.
Your at home or at work, and you receive all the iMessages on the iPhone. When you get out of home or work, your iPhone is still registered as an iMessage active user (because you won't turn it on or off every time you get home or work)... so people will send you iMessages, and you will not receive them nor SMS until you get home or catch a wifi spot.
So, having iMessage activated, and no network, forget about getting iMessages or SMS from people sending you from iPhones....
I hope apple makes iPhone smarter enough to turn off iMessages when people don't an active have 3g network. Right now, it seems you must turn it on or of on settings.
This makes iMessage completely messy, because people won't trust the service. People with other iPhones sending you messages, and you not receiving them until get a wifi hotspot? no good!