El problema es que dentro del while estas creando la función Javascript y, seguramente, reescribe a la anterior, por lo que quedará solo la última.
Sugerencia:
Código PHP:
Ver original<?php
// Esto debe quedar antes del while
?>
<script type="text/javascript">
function popventana(id_producto, id_fotoproducto) {
window.open("popup_producto.php?id_producto=" + id_producto + "&id_fotoproducto=" + id_fotoproducto,"imagen","width=300,height=300,scrollbars=YES ");
}
</script>
<?php
// Luego dentro del while creas la llamada a la función:
<a href="javascript:popventana(<?php echo $id_producto; ?>, <?php echo $reg['id_fotoproducto']; ?>);" ><img src="<?php echo $reg['ruta_fotoproducto'];?>" /></a>
Por cierto, es mejor si asignas tamaño de la imagen por medio de CSS y no directo en la etiqueta.
P.D. Bienvenido a FDW!