Thanks for the feedback. We use Oracle and as far as I can tell, you would have to alter the Oracle session to change the queries to be case insensitive, that sounds like a messy path to go down.
I have tried the cas.authn.attributeRepository.jdbc[0].caseCanonicalization=LOWER and it still passes the username as typed to the SQL query.
I've settled on some simple javascript to lowercase the username when the user submits the form in combination with a usernameAttributeProvider service definition to set canonicalizationMode to LOWER. The latter doesn't affect the SQL query, but I also have had the username passed to registered services in mixed case as well that has caused me issues.
The javascript isn't ideal, but it should prevent most of my problems. I wish there was a global setting to always force the principal ID to be lowercase and have that apply to SQL queries also. (I do have cas.authn.accept.principalTransformation.caseConversion=LOWERCASE)