My app sent home this stack trace which seems as though something very wrong is going on under the hood.
phone_model=SKY IM-A630K, android_version=2.1-update1
My app sent home this stack trace which seems as though something very wrong is going on under the hood.
The way you say this, I assume this is the first time you've seen this problem and it doesn't happen on other phones.
Is it possible that in the Android implementation on this phone model, the SmsManager attempts to check the phone 'state' before attempting to send an SMS message. That's purely a guess but it doesn't seem an unreasonable thing to do although the Telephony API docs for SMS Manager don't mention it. Maybe not, I'm not sure.
As sending an SMS message is quite critical in your app, then yes you should certainly be doing all you can to catch any exceptions possibly related to sending the messae (and recovering from the exception state if possible).
As it seems this particular problem cannot be recovered from, why not declare uses-permission for READ_PHONE_STATE into your manifest?