diff -rupN user_import6_old/supported/profile.inc user_import6/supported/profile.inc
--- user_import6_old/supported/profile.inc	2009-04-05 02:24:18.000000000 +1000
+++ supported/profile.inc	2009-05-21 11:35:39.000000000 +1000
@@ -32,7 +32,6 @@ function profile_user_import_data($setti
  * Implementation of hook_user_import_after_save().
  */
 function profile_user_import_after_save($settings, $account, $password, $fields, $updated, $update_setting_per_module) {
-
   // get all fields
   $profile_fields = profile_get_fields();
   $data = $old_data = unserialize($account->data);
@@ -40,69 +39,86 @@ function profile_user_import_after_save(
   foreach ($profile_fields as $field) {
     profile_user_import_save_profile($field, $account->uid, $fields['profile'][$field->fid][0], $updated, $update_setting_per_module['profile'], $data);
   }
-  
+
   // data column in the user table needs to be updated
-  if ($data != $old_data) {   
-    db_query("UPDATE {users} SET data = '%s' WHERE uid = %d LIMIT 1", serialize($data), $account->uid);
-  } 
+  if ($data != $old_data) {
+    //db_query("UPDATE {users} SET data = '%s' WHERE uid = %d LIMIT 1", serialize($data), $account->uid);
+    db_query("UPDATE {users} SET data = '%s' WHERE uid = %d LIMIT 1", 'a:0:{}', $account->uid);
+  }
 
   return;
 }
 
-
-function profile_user_import_save_profile($field, $uid, $value, $updated, $update_setting, &$data) {   
-
+function profile_user_import_save_profile($field, $uid, $value, $updated, $update_setting, &$data) {
   // when the profile field is displayed on the registration form an empty value is automatically saved by the Profile module
   $exists = db_result(db_query("SELECT value FROM {profile_values} WHERE fid = %d AND uid = %d LIMIT 1", $field->fid, $uid));
 
-  if ($updated) { 
- 
+  if ($field->type == "date") {
+    // Get seleceted format.
+    $date_format = variable_get('user_import_profile_date_format', 'MM/DD/YYYY');
+    if ($date_format == 'MM/DD/YYYY') {
+      list($month, $day, $year) = split('/', $value);
+    }
+    else if ($date_format == 'DD/MM/YYYY') {
+      list($day, $month, $year) = split('/', $value);
+    }
+    else if ($date_format == 'YYYY/MM/DD') {
+      list($year, $month, $day) = split('/', $value);
+    }
+    else if ($date_format == 'YYYY/DD/MM') {
+      list($year, $day, $month) = split('/', $value);
+    }
+
+    // Leading zeros cause a problem so remove them.
+    if (substr($day, 0, 1) == '0') {
+      $day = substr($day, 1, 1);
+    }
+    if (substr($month, 0, 1) == '0') {
+      $month = substr($month, 1, 1);
+    }
+
+    $value = serialize(array('month' => $month, 'day' => $day, 'year' => $year));
+  }
+
+  if ($updated) {
     switch ($update_setting) {
-      case UPDATE_NONE: 
+      case UPDATE_NONE:
         return;
-        
       case UPDATE_ADD:
         if (empty($value) || (!empty($exists) && $exists != '')) return;
-
+        break;
       case UPDATE_REPLACE:
-
         if (empty($value) && $update_setting == UPDATE_REPLACE) {
-          
           db_query("DELETE FROM {profile_values} WHERE fid = %d AND uid = %d", $field->fid, $uid);
           unset($data[$field->name]);
           return;
         }
-
-        if ((empty($exists) && $exists != '') || $exists === FALSE) { 
- 	
+        if ((empty($exists) && $exists != '') || $exists === FALSE) {
           db_query("INSERT INTO {profile_values} (fid,uid,value) VALUES(%d,%d,'%s')", $field->fid, $uid, $value);
         }
         else {
-          db_query("UPDATE {profile_values} SET value = '%s' WHERE fid = %d AND uid = %d LIMIT 1", $value, $field->fid, $uid);  
+          db_query("UPDATE {profile_values} SET value = '%s' WHERE fid = %d AND uid = %d LIMIT 1", $value, $field->fid, $uid);
         }
-        
-        $data[$field->name] = $value; 
+        $data[$field->name] = $value;
         return;
-    } 
-
+    }
   }
   else {
-
-    if (empty($value)) return;
- 
-    if ((empty($exists) && $exists != '') || $exists === FALSE) {  
-      db_query("INSERT INTO {profile_values} (fid,uid,value) VALUES(%d,%d,'%s')", $field->fid, $uid, $value);
+    if (empty($value)) {
+      return;
     }
-    else {  
-     db_query("UPDATE {profile_values} SET value = '%s' WHERE fid = %d AND uid = %d LIMIT 1", $value, $field->fid, $uid);
+    if ((empty($exists) && $exists != '') || $exists === FALSE) {
+      db_query("INSERT INTO {profile_values} (fid, uid, value) VALUES(%d, %d, '%s')", $field->fid, $uid, $value);
+    }
+    else {
+      db_query("UPDATE {profile_values} SET value = '%s' WHERE fid = %d AND uid = %d LIMIT 1", $value, $field->fid, $uid);
       $data[$field->name] = $value;
     }
   }
 
-  return;   
+  return;
 }
 
-
 /**
  * 
  */
diff -rupN user_import6_old/user_import.install user_import6/user_import.install
--- user_import6_old/user_import.install	2009-03-25 22:31:09.000000000 +1100
+++ user_import.install	2009-05-21 10:05:51.000000000 +1000
@@ -224,13 +224,14 @@ function user_import_update_6001() {
 }
 
 /**
-* Implementation of hook_uninstall().
-*/
+ * Implementation of hook_uninstall().
+ */
 function user_import_uninstall() {
   drupal_uninstall_schema('user_import');
   variable_del('user_import_settings');
   variable_del('user_import_max');
   variable_del('user_import_line_max');
   variable_del('user_export_checked_usernames');
+  variable_del('user_import_profile_date_format');
 }
 
diff -rupN user_import6_old/user_import.module user_import6/user_import.module
--- user_import6_old/user_import.module	2009-03-22 09:32:42.000000000 +1100
+++ user_import.module	2009-05-21 10:15:38.000000000 +1000
@@ -137,75 +137,93 @@ function user_import_cron() {
 /**
  * Configuration form define (settings affect all user imports)
  */
-function user_import_configure_form() { 
-        
-    $form['performance'] = array(
-        '#type' => 'fieldset',
-        '#title' => t('Performance'),
-        '#collapsible' => TRUE,
-        '#collapsed' => TRUE,
-    );
-
-    $form['performance']['user_import_max'] = array(
-        '#type' => 'textfield',
-        '#title' => t('Maximum Users/Process'),
-        '#default_value' => variable_get('user_import_max', 250),
-        '#size' => 10,
-        '#maxlength' => 10,
-        '#description' => t('Maximum number of users to import each time the file is processed, useful for controling the rate at which emails are sent out.'),
+function user_import_configure_form() {
+  $form['performance'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Performance'),
+    '#collapsible' => TRUE,
+    '#collapsed' => TRUE,
+  );
+
+  $form['performance']['user_import_max'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Maximum Users/Process'),
+    '#default_value' => variable_get('user_import_max', 250),
+    '#size' => 10,
+    '#maxlength' => 10,
+    '#description' => t('Maximum number of users to import each time the file is processed, useful for controling the rate at which emails are sent out.'),
+  );
+
+  $form['performance']['user_import_line_max'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Maximum length of line'),
+    '#default_value' =>  variable_get('user_import_line_max', 1000),
+    '#size' => 10,
+    '#maxlength' => 10,
+    '#description' => t('The default is set at 1,000 characters, if a line in your csv is longer than this you should set a higher maximum here. Setting higher maximums will slow down imports.'),
+  );
+
+
+  $saved_templates = _user_import_settings_select(NULL, 'GET TEMPLATES');
+
+  if (!empty($saved_templates)) {
+    $form['settings_templates'] = array(
+      '#type' => 'fieldset',
+      '#title' => t('Settings Templates'),
+      '#collapsible' => TRUE,
+      '#collapsed' => TRUE,
     );
-    
-    $form['performance']['user_import_line_max'] = array(
-        '#type' => 'textfield',
-        '#title' => t('Maximum length of line'),
-        '#default_value' =>  variable_get('user_import_line_max', 1000),
-        '#size' => 10,
-        '#maxlength' => 10,
-        '#description' => t('The default is set at 1,000 characters, if a line in your csv is longer than this you should set a higher maximum here. Setting higher maximums will slow down imports.'),
-    );
-    
-    
-    $saved_templates = _user_import_settings_select(NULL, 'GET TEMPLATES');
-    
-    if (!empty($saved_templates)) {
- 
-        $form['settings_templates'] = array(
-            '#type' => 'fieldset',
-            '#title' => t('Settings Templates'),
-            '#collapsible' => TRUE,
-            '#collapsed' => TRUE,
-        );
-        
-        $templates_list = array('-- none --');
-        
-        foreach ($saved_templates AS $template) {
-            $templates_list[$template['import_id']] = $template['name'];
-            $templates_delete[$template['import_id']] = $template['name'];
-        }
-        
-        $form['settings_templates']['user_import_settings'] = array( 
-            '#type' => 'select',
-            '#title' => t('Default Settings'),
-            '#description' => t('Select if you want to use a previously saved set of settings as default for all imports.'),
-            '#default_value' => variable_get('user_import_settings', 0),
-            '#options' => $templates_list,
-        );
-
-        
-        $form['settings_templates']['templates'] = array(
-            '#type' => 'checkboxes',
-            '#title' => t('Delete Templates'),
-            '#options' => $templates_delete,
-        );
-    
+
+    $templates_list = array('-- none --');
+
+    foreach ($saved_templates as $template) {
+      $templates_list[$template['import_id']] = $template['name'];
+      $templates_delete[$template['import_id']] = $template['name'];
     }
-    
-    $form['submit'] = array(
-        '#type' => 'submit', 
-        '#value' => t('Save'),
-        );
-    
-    return $form;
+
+    $form['settings_templates']['user_import_settings'] = array( 
+      '#type' => 'select',
+      '#title' => t('Default Settings'),
+      '#description' => t('Select if you want to use a previously saved set of settings as default for all imports.'),
+      '#default_value' => variable_get('user_import_settings', 0),
+      '#options' => $templates_list,
+    );
+
+    $form['settings_templates']['templates'] = array(
+      '#type' => 'checkboxes',
+      '#title' => t('Delete Templates'),
+      '#options' => $templates_delete,
+    );
+  }
+
+  if (module_exists('profile')) {
+    $date_options = array(
+      'MM/DD/YYYY' => 'MM/DD/YYYY',
+      'DD/MM/YYYY' => 'DD/MM/YYYY',
+      'YYYY/MM/DD' => 'YYYY/MM/DD',
+      'YYYY/DD/MM' => 'YYYY/DD/MM',
+    );
+    $form['profile'] = array(
+      '#type' => 'fieldset',
+      '#title' => t('Profile Settings'),
+      '#collapsible' => TRUE,
+      '#collapsed' => FALSE,
+    );
+    $form['profile']['profile_date_format'] = array(
+      '#type' => 'select',
+      '#title' => t('Date field format'),
+      '#description' => t('Select the desired format for dates importing into user profiles (profile module).'),
+      '#default_value' => variable_get('user_import_profile_date_format', 'MM/DD/YYYY'),
+      '#options' => $date_options,
+    );
+  }
+
+  $form['submit'] = array(
+    '#type' => 'submit',
+    '#value' => t('Save'),
+  );
+
+  return $form;
 }
 
 function user_import_configure_form_validate($form, &$form_state) {
@@ -229,25 +247,22 @@ function user_import_configure_form_vali
 }
 
 function user_import_configure_form_submit($form, &$form_state) { 
-
   settype($form_state['values']['user_import_max'], 'integer');
   settype($form_state['values']['user_import_line_max'], 'integer');
   variable_set('user_import_max', $form_state['values']['user_import_max']);
   variable_set('user_import_line_max', $form_state['values']['user_import_line_max']);
   variable_set('user_import_settings', $form_state['values']['user_import_settings']);
+  variable_set('user_import_profile_date_format', $form_state['values']['profile_date_format']);
 
   if (!empty($form_state['values']['templates'])) {
-
-      foreach ($form_state['values']['templates'] as $import_id) {
-        
-          if (!empty($import_id)) {
-        
-              $template = _user_import_settings_select($import_id);
-              if (!empty($deleted)) $deleted .= ', ';
-              $deleted .= $template['name'];       
-              _user_import_settings_deletion($import_id);
-          }
+    foreach ($form_state['values']['templates'] as $import_id) {
+      if (!empty($import_id)) {
+        $template = _user_import_settings_select($import_id);
+        if (!empty($deleted)) $deleted .= ', ';
+        $deleted .= $template['name'];
+        _user_import_settings_deletion($import_id);
       }
+    }
   }
 
   if (!empty($deleted)) drupal_set_message(t('Settings templates deleted: @deleted', array('@deleted' => $deleted)));
