We had a client with such a system, and several front ends located on various different hosts. Images were named to match with record IDs in the db (eg 1.jpg, 3245.png, etc). The obvious way was to just link to the images on the site they were uploaded to. So each of the several front ends pulled the images from a single site. But this was trickier because not all the records had matching images, and they might be either gif jpg or png. When it was all hosted on one server we could check whether a file existed, but it was harder to do this remotely (and would have been much slower).
So what we did was have the remote sites call an ASP page on the site hosting all the images... eg
img src="http://sitewithimages.co.uk/showimage.asp?id=3245"
This script looked for an image called either 3245.png, 3245.jpg or 3245.gif and showed it, else it returned a single pixel blank gif. It works fine, means client only has to update images in one central site, and avoids storing the images in a database.