Unpublish node instead of deleting it
Use hook_node_delete . This hook is being invoked right before node deletion.

function YOURMODULE_node_delete($node) {
  if ($node-&gt;type == 'NODETYPE') {
    $node-&gt;status = 0;
    node_save($node); 
    unset($node);
  }
}