Persisting URL params on form_set_error
$form_state['redirect'] = FALSE;

This works like a charm since the form is not rebuilt or reloaded.
Below link contains more info
https://drupal.org/node/1850410