Email addresses and domain names are case-ignoring so you should never allow usernames that differ only in case. Allowing only lower case is an easy way to do this.
However, there are too many services smashing the case of the local part to either lower or upper case that case-sensitive names have become nigh impossible to use.