One possible explanation for teens being handled
differently in some languages, is that they are much more common. A number
like fifty-seven is treated, and perhaps even thought of, in two parts, whereas
a number like twelve, or fifteen, is treated as a single unit. This is why illogical patterns survive.
I have heard, but cannot vouch for its veractiy,
that Hindi has so eroded the original formation of its numerals, that most up to
a hundred are opaque, and appear as single units that mean, for example, "37" or
"82"; and that this creates such problems for speakers, that many prefer
to use English numerals even while speaking Hindi. (Can anyone
confirm?)
There is a different discussion, about the origin
of the numbers for teens. I think some of them, especially 11 and 12, have
been discussed on this list before, and may be in the archives.
Personally, I find it curious that some languages reverse the order at a certain
point in the teens : number +10, then 10+ number (e.g. French ...seize,
dix-sept; Italian ... sedici, diciassette; but Latin ..sedecim,
septindecim, duodeviginti). But that's probably an uninteresting
question...
Peter