A) We should be setting values as a proper Form API property, not just jamming them into $form_state (eg $form_state['group'])
B) I don't see why we're iterating over all form submit callbacks and override the core callback when we can just add our callback to run after the existing one and set our own $form_state['destination']
C) commons_core_search_submit() could use some more code commenting. It's not clear to me when the 'type' filter is used.
D) Could we refactor the switch in that function to not have a conditional inside of each case that checks for whether apachesolr is enabled and instead use a single conditional to check for that? (Yes)