Please excuse me, but I started writing modules by copying code and using it to my purposes. Now, with this Drupal 6.x upgrade, I've actually got to understand what I'm doing. I'm sorry if I'm a little bit behind the curve, but I'm working on it!
Looked at the Drupal 5.x to 6.x FormAPI changes: http://drupal.org/node/144132
Particularly this regarding the validate and submit properties: http://drupal.org/node/144132#custom-params
In Drupal 5.x, I've been using this format:
function og_user_roles_form_alter($form_id, &$form) {
$form['og_user_roles_regcode_gid']['og_user_roles_regcoderole_value_' . $gid] = array(
'#type' => 'select',
'#title' => t('Role to assign'),
'#options' => $roles,
'#default_value' => variable_get('og_user_roles_regcoderole_value_' . $gid, 0),
'#description' => t('Select the role you wish to use as the "registration code group role" for every new subscriber who subscribes to this group using one of the registration codes above.'),
);
$form['#validate'] += array('og_user_roles_regcode_form_validate' => array($form_id, &$form));
$form['#submit'] += array('og_user_roles_regcode_form_submit' => array($form_id, &$form));
}