I've had similar problems; this can arise if the image is being hosted on someone else's site, and not for example your own photobucket or other photo/image account somewhere. Some web site owners put code in place so other people cannot link to their images directly; they do this to stop people "stealing" their bandwidth by showing their images on other web sites. You can work around this by copying the image to a photobucket or similar account then linking to that.
One of the tricks some web sites use is to have a dynamic address for every image they show to every user. This means that if you post the link to that image it will have expired and not be valid any more.
Another thing to watch out for is the old switcharoo where a web site owner gets annoyed at people linking to their image so they rename their image and post a nasty pornographic image with the original name to their web site. The nasty image doesn't show on their own web site, only on the sites that linked to the image file of that name originally. I've seen it happen on WP a couple of times.
_________________
I've left WP indefinitely.