Index: node_export.module
===================================================================
--- node_export.module	(revision 25302)
+++ node_export.module	(working copy)
@@ -327,6 +327,14 @@
       '#title' => t('Changed time (<em>Last updated</em> date/time)'),
       '#default_value' => variable_get('node_export_reset_changed_'. $type, TRUE),
     );
+    
+    // PATCH by thebuckst0p for preserving original nid
+    $form['publishing'][$type]['node_export_reset_author_'. $type] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Author'),
+      '#default_value' => variable_get('node_export_reset_author_'. $type, TRUE),
+    );
+    
     $form['publishing'][$type]['node_export_reset_menu_'. $type] = array(
       '#type' => 'checkbox',
       '#title' => t('Menu link'),
@@ -757,7 +765,7 @@
     db_query('UPDATE {node_revisions} SET nid = %d WHERE vid = %d', $node->nid, $node->vid);
     $op = 'insert';
   }
-  else {
+  else {    // not new
     drupal_write_record('node', $node, 'nid');
     if (!empty($node->revision)) {
       _node_save_revision($node, $user->uid);
@@ -788,11 +796,25 @@
 
     $node = drupal_clone($original_node);
 
-    $node->nid = NULL;
-    $node->vid = NULL;
-    $node->name = $user->name;
-    $node->uid = $user->uid;
+    // [thebuckst0p] PATCHING TO PRESERVE NID 
+    // (see issue @ http://drupal.org/node/744758)
+    // @TODO make new config options for this
+    //  - should that be per import or default (or both)?
+    $preserve_nid = TRUE;   // add, use a variable_get here
+    
+    if (! $preserve_nid) {
+      $node->nid = NULL;
+      $node->vid = NULL;    // [thebuckst0p] this too? it seems to create one later on save
+    }
+    // [thebuckst0p] if nid is left alone, $is_new will be false, will preserve
 
+    // [thebuckst0p] added new config to preserve author
+    //  is author required to save? might want to add here or later a check for blank author
+    if (variable_get('node_export_reset_author_'. $node->type, TRUE)) {
+      $node->name = $user->name;
+      $node->uid = $user->uid;
+    }
+
     if (variable_get('node_export_reset_created_'. $node->type, TRUE)) {
       $node->created = NULL;
     }
@@ -813,6 +835,7 @@
       $node->book['mlid'] = NULL;
     }
 
+    // [thebuckst0p] this should be config-able too, not always reset
     $node->files = array();
 
     if (variable_get('node_export_reset_'. $node->type, FALSE)) {
@@ -826,7 +849,7 @@
     // The function signature is: hook_node_export_node_alter(&$node, $original_node, $method)
     // Where $method is either 'prepopulate' or 'save-edit'.
     drupal_alter('node_export_node', $node, $original_node, $mode);
-
+    
     return $node;
 
 }
Index: node_export.install
===================================================================
--- node_export.install	(revision 25302)
+++ node_export.install	(working copy)
@@ -19,6 +19,9 @@
     variable_del('node_export_reset_created_'. $type);
     variable_del('node_export_reset_menu_'. $type);
     variable_del('node_export_reset_path_'. $type);
+    
+    // PATCH by thebuckst0p for new option added in .module
+    variable_del('node_export_reset_author_'. $type);
   }
 }
 
