Sounds like you are maybe filling the same image object in all 4 screens? Maybe add a sequence number to the photo's, to make sure you are using 4 different image objects? If you create 4 image objects at the start, they will be created, but contain empty values. So it's normal that your list would say 4 objects.
The last image is from cache probably as will the photo objects be if you did not commit them.
Try committing the photo objects to make sure the image is uploaded and stored on disk.
Do you do the retrieve for the template grid via DB or association?
Did you check your console (Mendix and browser) for any errors?
Could access rules be preventing the images from being shown?