I normally don't pay much attention to whether a message is being sent out over iMessage or SMS, and less technical folks probably pay even less, so it's a bad situation when those two methods end up going to different people.
That said, I'm actually not sure what the best behavior for iOS would be here - I get that they want to use the "best" transport and send over iMessage rather than SMS if it's available. Ideally there would be some kind of warning if the phone number I have in my contacts doesn't match the one on the device that's going to receive the message, but that seems finicky as well (what if I only have their land-line?).