Paul,
You are right. I was locked on this code fragment:
AND BETWEEN(pnX, oCtrl.Left, oCtrl.Left + oCtrl.Width) ;
AND BETWEEN(pnY, oCtrl.Top, oCtrl.Top + oCtrl.Height)
which is just checking the rectangular area bounded by each image object, but it does end up checking every possible image. It's not lear from the code fragment what oImage and oControl are references to.
>That was my initial thought too, until I reread his message. He has overlapping shapes that have transparent sections. If you happen to click on a transparent part of a shape (thinking you're clicking on the shape below it, for example), the wrong shape would broadcast it's message.