Um. I'm not the one who made iMessage - you need to look at the guys making locked down messaging systems for the user-hostile actions causing problems like these and no doubt much more in the future. If I could help these people out and give them a script to run to fix their problem I would - but of course I can't, because everything is locked down by others who are putting their own vendor lock-in above user satisfaction. And I agree that it is the biggest problem in our industry.
It is the biggest problem, it's just hard to see. Let's assume iMessage was OSS and freely uninstallable/re-installable on iOS devices. This would mean that an iMessage fork could be created that was able to talk to additional services and not only Apple ones. This would be done quickly as iOS users would want to use iMessage to talk to Android users also. The iMessage client itself would be duplicated for Android quickly as well if it was OSS.
As most users would prefer the Android compatible version, the forked version would likely be installed by most users as most users would want to talk to Android. This problem would then be easily fixed: someone could just submit a pull request for a fix for this issue and create a way to easily stop receiving messages through iMessage. Even better, the author would not need to stop using iMessage - he could keep using it and receiving messages on Android.
Ultimately removing the lock-in at the client level forces the problem to auto correct itself across the board by allowing users the option of migration and developers the option of improvement.
Thinking about it further, I don't even think it's appropriate to call this "lock-in".
I very much doubt the Apple engineers who wrote iMessage were rubbing their hands together in maniacal glee, at the prospect of being able to prevent people from ever migrating away from iOS, if they but used the phone number in this specific way.
It sounds like it's exactly what TFA's author assumes: a bug.
Sufficiently advanced incompetence is distinguishable from malice.
Apple has certain well advertised priorities. Interoperability with non-Apple systems is not one of them.
(Not to blame Apple in particular -- non-intropability is coincidentally a common feature among the biggest player in every industry, while interopability is a key feature of challengers. But it's just a "bug"... )
Does it change much to focus on the original intention of the engineers?
If the bug ever surfaced or was ever thought of by anyone at Apple at any point in the development process of iMessage, Apple will have effectively accepted to lock the user in by not having it fixed or communicate about it in some way.
The OP must not be the first to report the problem either (he switched after iOS7, iMesssage was more almost two years old by then) ?
This might not be an issue Apple cares in any way, and that's fine for them. We should just recognize their shitty behavior, even if it's originally accidental.