Hi eXistenZ,
Try $HTTP_REFERRER. This will give you the location from where they came.
I'm afraid I can't help you with the IMG or IFRAME problems. As far as I know, however, all the methods you mention sound as though they come from the referrer's site. Perhaps you should use some terms and conditions and carry out checks every so often and exclude people that are cheating.
Cheers,
David