The "HUGE flaw in iMessage" was Apple thinking that everyone would be smart enough to use it correctly.
No, the huge flaw is that iMessage makes several assumptions about a connected device, its user and the data connection (if any) that the device has.
Apple doesn't really allow you to control how iMessage functions. It's pretty much all or nothing.
A better system would offer the user more customisation. I'd like to be able to use iMessage, but ONLY if the the recipient is unable to receive an SMS (i.e. they are on an iPad or iPod touch).