Redirect After User Registration if Referred from Specific URL
I think you need to set the redirect in a submit handler. Add your custom submit handler to $form and then in your custom submit handler set $form_state['redirect'] to where you want it to go. Doing it in a form_alter could be why it's not working. See Redirecting a Form

function my_redirect_form_my_content_type_node_form_alter(&amp;$form, &amp;$form_state){
  $form['#submit'][] = 'my_redirect_node_form_submit';
}

function my_redirect_node_form_submit($form, &amp;$form_state) {
  $form_state['redirect'] = 'node/10'; // the address of your thank you page
  // if you are really, really determined to force the redirect, even if a destination has been set in the url, add this:  unset($_GET['destination']);
  // you could also add a message (this is in addition to whatever message is produced by the nodeapi function): drupal_set_message(t('Congratulations!'));
}