Hola luiscl, la verdad no te capto bien, pero haciendo caso a ésto:
Cita: Sin embargo, si corto la ejecución y vuelvo a ejecutar, entonces ya me presenta la foto correctamente.
Porque no haces un Response.Redirect sobre tu misma página despues de que haces todos los pasos de tu evento btnGuardar_Click
Ejemplo.
Cita: ..btnGuardar_Click...
...
...
bla bla..
Response.Redirect(Request.RawUrl)
..
Con ello no haces postback si no haces un load de la page...

pruebalo y nos cuentas que tal.
Salu2