Why would custom fields not update?
I suspect you don't have $node->language set, or perhaps the empty [] is causing trouble.

Try:

$result = $query-&gt;execute();
if (isset($result['node'])) {
  $nodes = entity_load('node', array_keys($result['node']));
  foreach ($nodes as $node) {
    // Set node language to default, if not set
    $node-&gt;language = isset($node-&gt;language) ? $node-&gt;language : LANGUAGE_NONE;
    $node-&gt;field_myother_field[$node-&gt;language][0]['value'] = '500';
    $node-&gt;title = 'retest the test';
    node_save($node);
  }  
}else {
  drupal_set_mesage('no nodes to load');
}


Using entity_metadata_wrapper

$result = $query-&gt;execute();
if (isset($result['node'])) {
  $nodes = entity_load('node', array_keys($result['node']));
  foreach ($nodes as $node) {
    $node_wrapper = entity_metadata_wrapper('node', $node); // Get node wrapper
    $node_wrapper-&gt;field_my_other_field-&gt;set('500'); // Set field value
    $node_wrapper-&gt;save(); // Save entity
  }
}else {
  drupal_set_mesage('no nodes to load');
}