Vendor charges customer because they can and customer is powerless. What about that don't you understand?
More seriously - I think it traces back to the fact that in the US you pay airtime for both incoming and outgoing calls, including "free" (1-800) numbers; The reason for this was that originally:
a) mobile calls were really expensive b) there were no number range or pattern allocated for mobile phone numbers (thus, when you call a number, you generally don't know if it is landline, mobile, virtual or which operator it is (or ever was)).
So caller-to-mobile pays the same (they don't know they are calling mobile), and recipient-on-mobile pays the rest. And since everyone was used to that, the operators extended that to text as well.
Roaming is currently around 9ct/mb in the european union if you manage to get the right deal, or by law 80ct/mb which isn't _that_ good.
But I doubt this would decrease conversion rate at all.
So I would also be doubtful that it's a problem.
You have a deactivated phone or phone out of the network you would like to use to authenticate? Too bad, not only do you need a phone that can receive an SMS, you also need an active phone plan.
Unfortunately the only way to do this well is to cover all your bases. A great example is Blizzard, who offers an authenticator app for your phone, an SMS program for those who don't have smartphones, and a custom built authenticator device for everyone else.
It's expensive, but anything less will cut out a large portion of potential users. Hence why we still just use a username and password. Much like democracy is to politics, user/pass is the worst form of authentication except for all the others.