> The problem is, if you can search to see if a record matches some range and get the matches back, a series of searches will let you discover the exact value.
Not if you do it right. If you say put the dates into buckets, such that say each bucket contains at least 10 emails. If your date range include any item in the bucket you get all of it.
> then have those fields (or copies of them) exist in the database in cleartext and you don't need to jump through any hoops to do your matching on that data
Yeah, well the only reason you would suffer the complexity and speed hit of homomorphic operations is if you paranoid enough to to make revealing dates an unacceptable choice. If you are happy to store the data in plain text then that is always going to be a better choice.