I used this method to let users create categories in an textbox instead selecting them on a list, or add field to Ask and Edit form based on certain conditions. it works:
1. layer: you should change the values in $this->content array in a layer in doctype() function(or somewhere else) to add such fields.
this checks to see if it's Ask or Edit form:
if ( ($this->template=='ask') or (substr(qa_get_state(),0,4)=='edit')){}
get form array:
if ($this->template=='ask')
$form_name = 'form';
else
$form_name = 'form_q_edit';
$this->content[$form_name]['fields'] // it's form's fields value
2. event modul: for saving them add an event module and use qa_post_text() function to get the checkbox value and save it with qa_db_postmeta_set() or another function.
that's a long way to go to create custom fields, but it seems to be the only way(unless you use page override or core hacks).