The problem is that before the image is posted the URL is a temporary one. It works for a while, and the member sees a duplicate image after posting. They delete the duplicate, and a few hours later the temporary one (with temp_hash in the URL) they inserted in BB code disappears.
It might be worth considering not showing the temporary location quite so prominently (there is a blue link to attachments uploaded but not posted and the tiny thumbnail in uploaded attachments links to a temporary image).
Here is an image inserted with the temporary address (screenshot of the attachments uploaded):
Here is the real image: