in reply to Preview uploaded image

All you have to do is record which user / IP uploads each image, then if there is an existing non-utilized image by that same user / IP, delete it before storing the new one. Then to make sure, run a batch job every month or two to clean out any non-utilized images that fell through the cracks.

NOTE: You'll have to let your users know that they can only do one image at a time. Some people with slow connections could theoretically try to do several images at once so they can go do something else while waiting for upload, and all but one of those images will be deleted using the method above.