Kann man das ganze irgendwie verhindern?
Die meisten Seiten machen dazu spezielle Javascript-Aufrufe, eben um genau das zu verhindern, was du vor hast (nämlich die Seite in einem Frameset anzeigen zu lassen).
Ich bin das Problem mal Serverseitig umgangen, in dem ich mit Perl einfach solch "ungewollte" JavaScript-Aufrufe aus der aufzurufenden Seite gelöscht habe, bevor ich sie an den Browser weitergereicht habe. Sowas ist aber natürlich nur ein "dirty hack" und auch nicht allzu zuverlässig.