EF> domain name componentss consist of letters, digits and hyphens KRE> That's not true, they can be almost anything (specifically including KRE> dots and \0's) though many of the possibilities are not really practical. Obviously, a component can't contain a dot and any argument to getaddrinfo() can't contain a NULL. Other than that, there indeed seems to be little consensus about what's allowed. RFC 1035 says "start with a letter, end with a letter or digit, and have as interior characters only letters, digits, and hyphen." which seems to be what BIND enforces since 4.9.4 (unless you fiddle with check-names).
EF> purely numeric components may be allowed, but are crazy KRE> Have you never seen 1.2.3.4.in-addr.arpa ?? OK, got me. KRE> But who knows what ICANN will create next week? I guess as soon as they invent numerical TLDs, it's time to start ignoring them. So back to my original question whether the observed behaviour was on purpose, the answer seems to be affirmative.