Programmatically created nodes don't appear unless opened and saved
Use hook_node_presave($node) to check whether you are getting proper values.

Also, try drupal_form_submit() instead of node_save() for edit