Remove  tag after form tag in user register form Drupal 7
That &lt;div&gt; is actually there to ensure XHTML compliance so it shouldn't really be removed.

If that's not an issue for whatever reason, you need to override theme_form(), which is responsible for adding that &lt;div&gt;, and just remove it from the returned markup. The full code is quite short so I'll include it:

function MYTHEME_form($variables) {
  $element = $variables['element'];
  if (isset($element['#action'])) {
    $element['#attributes']['action'] = drupal_strip_dangerous_protocols($element['#action']);
  }
  element_set_attributes($element, array('method', 'id'));
  if (empty($element['#attributes']['accept-charset'])) {
    $element['#attributes']['accept-charset'] = "UTF-8";
  }
  return '&lt;form' . drupal_attributes($element['#attributes']) . '&gt;' . $element['#children'] . '&lt;/form&gt;';
}