Yup. Tried resetting everything possible. So did Apple support. And they escalated to engineers who also said they have no more records of my number server-side.
But there's no way to clear the client side caches.
That sucks, if it is the case. It only takes a second or two for a newly added number to switch from green to blue (I'm sure it's some kind of HTTP number lookup request to an *.apple.com web service), so why couldn't they re-request that every time - or at least keep the caches down to like 15-30 minutes...
I believe you're missing ac29's point. Android allows applications to distinguish between cached data and "regular/permanent" data. It also allows users to clear them separately.
Logically, the Apple ID / phone number mapping seems like it should fall under cached data (e.g. it can be regenerated and does need to be re-checked from time to time). If the iOS Messaging app properly implemented this distinction, users (or Apple) could clear this cached mapping without touching anyone's message history. Sadly, it sounds like it hasn't been implemented that way, so...
I had a similar issue this weekend. Once I changed my Apple ID password I started to receive SMS messages from people with iOS devices. I had to re-authorize all Apple services on my other devices and machines.
It works -- Also, make sure if you have an iPad or you're using your Apple ID with Messages on Mac OS X that you sign out of everything beforehand. Last resort is changing your password but it works.