Hola!, basandome en el primer código que motraste.
Tienes errores de sintáxis y no puedes hacer que $idfoto coincida con $id ya que $idfoto siempre te devolvera un "Resource id#5"(por ejemplo).
Cambia éste: Código PHP:
<?
$id = ' . $_SESSION['nick'] . ';
$idfoto = mysql_query("SELECT * From tabla WHERE tabla.idfoto = '$id'",$conectar);
?>
<h1><img alt="Esta es tu foto de perfil." src="imagen_mostrar.php?idfoto=<? if($idfoto != $_SESSION['id']) { echo 1; } else { if($idfoto == $_SESSION['id']) { echo '' . $_SESSION['id'] . ''; } } ?>&tam=<? echo '' . $_SESSION['nick'] . ''; ?>" alt="Imagen desde Blob" border="2" height="300" width="200" />
Por éste: Código PHP:
<?php
$id = $_SESSION['nick'];
$consulta_foto = mysql_query("SELECT * From tabla WHERE idfoto = '$id'",$conectar);
$idfoto = (mysql_num_rows($consulta_foto)!=0)?$id:1;
?>
<h1><img alt="Esta es tu foto de perfil." src="imagen_mostrar.php?idfoto=<?=$idfoto?>&tam=<?=$id?>" alt="Imagen desde Blob" border="2" height="300" width="200" />
Prueba haber si ya te funcióna, de lo contrario, el código dónde creas la imagen necesitará modificación.
Saludos!