I'm not very familiar with Chrome development, but it seems like you have pretty strong capabilities. Why couldn't bind to the click event on the Compose button?
Summary is that there are a lot more ways than clicking on the compose button to bring up a compose window.
Next thought, maybe you can override Google's open method with something like this: http://jsfiddle.net/Z3Ysq/
They may have been able to prevent this with a closure, but I think you could workaround everything. Watch out for scope issues, but I think there's a way to make this completely generalizable.
That being said, I agree that at some point, it might get too messy figuring this all out that your existing solution is best. Kudos for the clever concept.
Someone who can do that would get hired pretty quickly!