Good observation.
But if you embed it on webpage (in which refer header is sent)
it would turn into real image file, which means it WORKS when you include it in forum, blogs, etc. :)
Refer header is not a good way to distinguish between embedded images and images accessed directly by user. AFAIK that header will have the same value both when you load an embedded image and when you click on a direct link to the image.
I did a little bit of research about it few years ago; the summary can be seen here:
Basically, I was able to distinguish between embedded and directly accessed images by analyzing the content of Accept header. It wasn't perfect (it didn't work for Opera), but I think it could be good enough to do something useful with it.