How Reliable is node_save?
I think you have to believe that node_save() is doing its job.  But, if you don't, node_save($node) is declared as sending $node by reference, so, if anything changes $node during the node_presave() hook, it will be reflected in $node after the fact.  That notwithstanding, if you wanted to be perfectly sure, you could do something like:

$nid=$node-&gt;nid;
node_load(NULL, NULL, TRUE);
$node=node_load($nid);

if ($node-&gt;.....


which would clear any node caches in your page and then reload the node from the database before your if check.

ADDITION:

From your example, the failure logic imho should be in your generation of the taxonomy value, not in worrying about if node_save() has or hasn't done its job.  For example:

   // assuming we have $node populated

   $some_taxonomy=programmatically_created_tid($args);

   if ($some_taxonomy !== FALSE) { 
     $node-&gt;field_some_field['und'][0] = array('tid' =&gt; $some_taxonomy);
   } else {
     drupal_set_message(....
     watchdog(.....
   }


where your function looks something like this:

   function programmatically_created_tid($args) {

     // do whatever logic is necessary to generate the tid

     if ($success) { // success 
       return $tid;
     } else {
       return FALSE;
     }
   }


would alert the user to the problem you are actually concerned about.