Completed a couple more elements in the search form, including Post-Execution Disposition. Discovered in that one that the values are text strings in a field in the outcomes table, rather than integer value lookups to a "corpse-treatment" table. The _orWhereClause generator assumes the latter, so couldn't be used to generate the where clause for this search form element. I essentially duplicated the code from the function, but added a case statement to transform the integer values to the appropriate string values.
I was unable to figure out how a pardon is represented in the database, so couldn't begin to figure out how to count them, which I need to do for the final search form element (Min Pardons). I emailed SD to ask. Meanwhile, I'll return to the more complex problem of rejigging the chart search query so that it returns results consistent with the table search query.