Для клонирования ноды можно использовать 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 ревизии из-за чего происходит ошибка при сохранении.