So, my last messages were about needing to create and populate checkboxes based on values determined during the form validation process. This ended up working by:
1. Creating the fields in hook_form_alter
2. Storing the option values as an array during validation in $form_state['storage']
3. Checking in hook_form_alter for $form_state[storage], and if present, setting the field's options to the stored array

I also need to massage the body value during validation, basically to convert some strings to links. I tried the same method as above, which didn't work, with the problem being that  $form[body][LANGUAGE_NONE][0] contains a large meta array, so I wasn't sure what to do with the value.

I tried setting the value in form_state[values] during validation, but at the end of validation at this point in the flow I set rebuild=true, which ends up using the values that were present when the form was submitted (thus overwriting my change) ... which is why I ended up doing the other fields in hook_form_alter instead.

I then tried using form_set_value in validate. Two issues there. One is that passing $form[body] as the element doesn't work, I think, because I end up with $form_state[values][body] having a value instead of it being in form_state[values][body][LANGUAGE_NONE][0], and, I think, because of rebuild=true being set, which causes the change by form_set_value to be overwritten with the value that was there when submit was clicked.

--