How to Save a Node Object reached from another Server?
Are you working on a multilingual site? 
Trying to save a node that have different language than expected, for example "it" instead of "und" fails, event if the node is cloned from another site in which is working well.

You could also try to 
unset($node->nid) 
unset($node->vid)

they are not required in order to create a new node.