Last time I tried Programmable Wireless, iMessage explicitly didn't work; the activation text (sent in the background to Apple to verify your number and activate iMessage) was being swallowed by the underlying carrier and ended up verifying the internal number of the SIM (a T-Mobile number) instead of being delivered to me through HTTP (so I could route it myself through the Twilio number I wanted to use as outgoing).
I have tried raising it (as it was mostly an oversight and could've been sorted by just asking T-Mobile to make changes to their config) but my impression was that nobody even cared looking into it and just declared "iMessage is unsupported".
You can use iMessage if you use it with only data but that does limit your ability to only using iMessage with other iMessage users. When you put the Programmable Wireless SIM in your phone you'll be prompted to associate that number with iMessage, if you deny it, then you it won't pick up that number on the SIM with iMessage. I personally use this solution when traveling out of the country with a Programmable Wireless SIM in my iPhone. It "works" but unfortunately in a limited manner (i.e. data only).
> Wireless SIM in your phone you'll be prompted to associate that number with iMessage
That was my problem with it. The “number” it will associate is some internal T-Mobile number and not the Twilio number you would have assigned in the Twilio console.
I have tried raising it (as it was mostly an oversight and could've been sorted by just asking T-Mobile to make changes to their config) but my impression was that nobody even cared looking into it and just declared "iMessage is unsupported".