The individual boolean fields don't kill me and in terms of some of the application issues they're actually rather easy to code for.
The problem with re-coding for them is extensibility (by those who install and administer the package); a mask leaves open lots of extra bits for "site-specific" use, where hard-coding booleans does not, and since the executable is a binary it instantly becomes a huge problem for everyone but me.
It does appear, however, that a bitfield doesn't evaluate any differently than does an integer used with a mask, so there you have it..... it is what it is, and if I want this sort of selectivity in the search I have no choice.
Perhaps, use a view to encapsulate the extensible bit fields? Then custom installations just modify the view? I haven't thought through that too far, but it might work.