I had the same Problem. But that is no Bug, it always happens, when you use IFrames. The Problem is, that in the IFrame the Source URL of the Content is hardcoded. Everytime you refresh the whole IFrame Container, the Source is refreshed. And because of that your Content gets refreshed.
I had an Idea how to solve this, but it needs a modifikation in the IFramePortlet, and you have to be able to put a Filter before the Content Website
Can you suggest how to implement the solution? I can modify the IFramePortlet and work with it.
I have to say, that I haven't tested this idea because I had no time, but if you want, you can try.
The idea is, that you put a filter before the applikation that you want to display in the IFrame. That filter does nothing but writing the actual called URL, identified by the session ID into the Database.
Your IFrame Portlet uses the session ID, to get the last URL from the database, and uses that URL as Source. So the IFrame always displays the last visited URL. It should work for all GET operations. POSTs won't work, but I think thats not a problem.
There is some more logik needed, like dropping old entrys in the database, when session is invalidatet or User logs out.