About the apostrophe, it is so... Strings (like words) are enclosed in apostrophes for many databases. If there's one in the middle of it, it breaks the code, if you're just building the query... In that case, it must be dealt with. One (simple) way to deal with it is simply not allow it, or remove it from the search expression.
As a programmer, I HATE THE DARN THINGS. Of course not nearly half as much as different date formats.