Io ti propongo una soluzione "tradizionale". Le miniature non le vedo tramite input di tipo image, ma dentro il tag img direttamente.

Per vedere l'immagine ingrandita poi, non ho bisogno di fare due chiamate al server: me ne basta una. O scelgo di visualizzare l'immagine dentro un popup, o scelgo di visualizzarla dentro un div, che renderò visibile o meno.

Tanto per fare un esempio semplice ma concreto, ti mando questo codice. Con un po' di pazienza, si può utilizzare lightbox http://www.huddletogether.com/projects/lightbox/

codice:
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Pagina senza titolo</title>

    <script language="javascript" type="text/javascript">
// <!CDATA[
function mostra_immagine(src)
{
    document.getElementById("div1").innerHTML = '[img]' + src + '[/img]';
}


// ]]>
</script>
</head>
<body>
    <form id="form1" runat="server">
        <a href="/ProveNikon/images/IMG_5.jpg" target="_self" onclick="mostra_immagine('/ProveNikon/images/IMG_5.jpg');return false;">
            [img]/ProveNikon/images/miniature/IMG_5.jpg[/img]
        </a>
        <a href="/ProveNikon/images/IMG_6.jpg" target="_self" onclick="mostra_immagine('/ProveNikon/images/IMG_6.jpg');return false;">
            [img]/ProveNikon/images/miniature/IMG_6.jpg[/img]
        </a>
        <a href="/ProveNikon/images/IMG_7.jpg" target="_self" onclick="mostra_immagine('/ProveNikon/images/IMG_7.jpg');return false;">
            [img]/ProveNikon/images/miniature/IMG_7.jpg[/img]
        </a>
    </form>
    <div id="div1" ></div>
</body>
</html>
<script>

</script>