Not understanding why this can be an issue. Perhaps you can explain. I use underscore characters for names on my site for years without an issue. puzzled.
RFC1912 explains why:
" Allowable characters in a label for a host name are only ASCII
letters, digits, and the `-' character. Labels may not be all
numbers, but may have a leading digit (e.g., 3com.com). Labels must
end and begin only with a letter or digit. See [RFC 1035] and [RFC
1123]"
....
"There is at
least one popular TCP/IP implementation which currently refuses to
talk to hosts named with underscores in them."
In a different career, many moons ago, I tripped over EXACTLY this. The powers-that-be built early Exchange servers with underscores. Because that's not legal, the _ is changed to a dash when using DNS. This gets horrifically messy, when the server thinks its name is EXCH_01, but sends email from EXCH-01.domain.com
See:
Best Practices for WINS Servers
Many SSL certs enforce RFC1123 as well:
Underscores not allowed | digicert.com
In practice, it works for the most part.. but anywhere the RFCs are enforced somewhat strictly, you could get some very interesting edge cases.
Been there, done that, managed the email system for 100+ million customers ....
Hostnames themselves cannot have underscores, but other record types may. See:
Hostname - Wikipedia