yes, sorry, you are right, the browser does not fire BeforeNavigate2 for images and other embedded objects, only for the HTML page itself. You have to register a temporary Asynchronous Pluggable Protocol (APP) handler for HTTP protocol, see
About Asynchronous Pluggable Protocols
http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/pluggable/overview/overview.asp