Когда используем drupal_goto() в кастомном модуле на хуках типа hook_nodeapi() или hook_user() наш редирект могут запросто перехватить, другие модули, поэтому можно воспользоваться следующей хитростью
unset($_REQUEST['destination']);
drupal_goto('somewhere');
Для drupal 7 работает такая штука
function mersibo_helper_user_login(&$edit, $account) {
$GLOBALS['destination'] = 'user';
}