First of all, very nicely explained. :)
We have some sort of work like this in one of my previous projects and I found a Cross Browser way of handling this using
. I have also written a Tip on that.
See my Tip - Communication with Cross Domain IFrame - A Cross Browser Solution
We have used this approach in our project and it worked. So, try to implement this. :)