MVL suggested to add a case-insensitive UserSearch action in extensions/. There's already a similar action in extensions/search_id.py. Once the extension is done, it should be enough to change the URL in the interface to use action=usersearch.
The stringFind method in rdbms_common.py can be used to do the case-insensitive search.
I looked at this but I can't find any easy solution. AFAIU the value is passed as is to the database and the query is probably generated automatically. I couldn't find where exactly this happens but I suspect that making the query case-insensitive would affect all the fields, and it might also need to be special cased for user search if there is a common entry point for all the queries.
When searching for someone by realname, it would be best if the search were case
insensitive, since people (and languages) are not consistent about how they
capitalize their names. Nor does the search page indicate that the search is
case sensitive.