Render the first image of an image field which allow to enter multiple images
It's all about the structure of the image field. You're automatically going to the 0 index, but I bet if you were to do a dump of that variable, you'd find you were at the wrong position in the array. You'll need to loop through it or target the very specific element you're looking to render.
Check out this documentation comment for details and modify for your example. That comment shows the following code to loop through the images.
$node = node_load($nid);
$image = field_get_items('node', $node, 'field_NAME');
foreach ($image as $key =&gt; $value) {
  $output = field_view_value('node', $node, 'field_NAME', $image[$key], array(
    'type' =&gt; 'image',
    'settings' =&gt; array(
      'image_style' =&gt; 'thumbnail', //place your image style here
      'image_link' =&gt; 'content',
    ),
  ));
  print render($output);
}

That code is showing how to loop through the images in a different context, but the foreach() loop is the same that should be used in your code.
For that reason, it could be worth taking this up to template.php inside  hook_preprocess_node() to avoid adding logic in a template file.
function mytheme_preprocess_node(&amp;$variables) {
  if($variables['node']-&gt;type == 'blog' {
    // My crazy logic to assign my image variable.
    $variables['blog_image'] = render($somevalue);
  }
}

The template file then just needs a single code line.
print $blog_image;