Interesting topic.
After some quick googling, apparently the default behavior varies from DB to DB.
SQL Server apparently is case insensitive by default, while Oracle apparently isn't.
One thing the BI layer could do is to use something like
WHERE UPPER("COLUMN") = UPPER(:criteria)
In a classic RDBMS, this would have a terrible performance since it wouldn't consider the existing indexes as in the straightforward WHERE clause. In an in-memory DB, though, I'm not really sure what would be the performance degradation (if any). Please test and let us know.