lo standard in informatica è sempre stata la comparazione binaria, perché è il sistema più veloce ed efficiente di effettuare una comparazione; questo è lo stesso sistema usato per i numeri, e ricordiamoci che per decenni una stringa non è stata altro se non un puntatore ad un array di unsigned short int.
ed anche nel nostro php vi sono due funzioni per la comparazione delle stringhe quella di base (strcmp) è 'binaria' ed è quella usata per l'overload di '==', poi vi è quella per ignorare maiuscole e minuscole (strcasecmp).
se è vero che, nella massima parte dei casi, nel codice è richiesta una comparazione binaria, è anche vero che nei testi memorizzati nei db serve quasi sempre l'esatto contrario (se cerco 'mela' intendo cercare anche 'Mela' ad inizio di una frase).
e qui nasce il busillis; poi, per ragioni storiche/di compatibilità/di disponibilità di engine db più o meno potenti, si è mantenuta la cosa così come è, e non solo in joomla .
tornando alla domanda di tonicopi, non ritengo che lo user name case sensitive aumenti di molto la sicurezza: metti un carattere in più nella password e hai compensato la cosa.
considera un altro aspetto: alcuni programmatori/estensioni impostano la mail come user name. la mail non è case sensitive.
ciao,
marco