I created an emergency solution for myself, just in case, that I'm currently not using but in case someone else wants something like this: i created template functions for contains and re that are case sensitive (mainly just removing the flag from the predefined ones) and then if i need to search something case sensitive, i use the custom column as a flag. not elegant, seems slower, but works...
I was talking about
http://manual.calibre-ebook.com/regexp.html, it talks extensively about regex being case sensitive and how to switch it of, etc.
All in all I agree, best to just leave it case insensitive, to few use cases to put work into it