Mi sembra molto limitante.

In un'epoca in cui i frame vengono messi in discussione e in cui qualche browser potrebbe non supportarli, direi che tagli fuori un po' di utenti (non molti, ma alcuni si`).

Comunque la cosa si puo` fare.
Nelle raccolte ci sono gli script per far aprire una pagina in un frame determinato; per gli iframe, la cosa e` molto simile:

if(top == self) {
alert("non sei in un frame/iframe");
}