foreach ($result as $node_info) {
              //load the remote node
              $node = _content_retriever_fetch_node($node_info['nid'], $session_id);
              //check we haven't already got this node in the $nodes array from another queue             
              foreach ($nodes as $processed_node) {
                $processed_nids[$processed_node->nid] = $processed_node->nid;
              }            
  	          if (array_search($node->nid, $processed_nids) === false) {
                $nodes[] = $node;
  	          }
  	          $processed_nids = array();
            }

The checking for whether we've already got the node should really happen BEFORE we get it from the remote site with _content_retriever_fetch_node(); probably by just building an array of $nids in the loop and after the loop, running over it to get the nodes.

I am on the 6--2 branch; tayzlor is not using this module any more -- so it looks like none of the maintainers are going to fix this. I'm filing this anyway in case anyone using this branch wants to provide a patch.