Для клонирования ноды можно использовать Entity API. Для это нужно сбросить два параметра nid и vid.
<?php
$nid = 1;
$entity = entity_load('node', array($nid));
if(!empty($entity)){
  $node = reset($entity);
  // Сбрасываем ID, чтобы создалась новая нода
  $node->nid = FALSE;
  $node->vid = FALSE;
  $entity_wrapper = entity_metadata_wrapper('node', $node);
  // Здесь мы можем изменить любое поле созданное через интерфейс (Field API/CCK)
  $entity_wrapper->my_custom_field->set('Some value');
  $entity_wrapper->save();
}
На заметку: у модуля entity есть что-то подобное - entity_ui_clone_entity(), но эта функция не сбрасывает id ревизии из-за чего происходит ошибка при сохранении.