Hi Ian,
I am really sorry, once i said: "definitely none of those behaviors are expected." I misunderstand you at first. I wasn't aware, you were actually talking about adding product via "quickLook" (via iframe).
Of course, it is impossible to set a communication from the iframe to parent. In order to update the shopping cart module within the parent window, we must know whether the user is added the product to cart within iframe window, right? So, within iframe, we need to capture that add-to-cart event, and pass it to the parent (which is where the dropdown shopping cart exist) but unfortunately, there is no way to do it. This is also against browser's policies, thus it is restricted because it would cause serious security problems (the parent can pass arguments/events/messages to iframe using Window.postMessage(), and iframe can listen those messages but this communication is 1 way only. No backward. Some old browsers were doing this communication 2 ways, but not anymore)
So, the only option we got here is to capture the "lightbox" close events, because this is happening within the parent, so the parent can listen for that event and do something in case it happens (i.e: once lightbox is closed, update the dropdown shopping module -- which you already have figured out)
BTW: There is probably the only possible way is to send AJAX request to a shopping cart api to update the shopping cart module (but this requests must be done in an interval, in every 5 seconds for instance), so once you add product within iframe, the shopping-cart module will get this updates within 5 seconds.. BUT!! this would probably lead a serious performance problem in the long term, i won't recommend you to do this kind of implementation to your server)
About your second problem, i can help you with though, can you email This email address is being protected from spambots. You need JavaScript enabled to view it. your website URL where i see things in action?
Regards.