Ein neues Fenster kann per JavaScript nur in sein "Elternfenster" Code ausführen, wenn dieses auch per JavaScript geöffnet wurde und nicht per target. Dazu such mal im Forum nach passenden Beiträgen.
Deine Funktion brauchst Du natürlich nur 1mal und zwar im neuen Fenster. Der Aufruf darf dann natürlich nicht ONCLICK="opener.setSmilie('

');" lauten, sondern ohne opener. Die Referenzierung auf das "Elternfenster" hast du ja schon in der Funktion gesetzt.
Oder du lässt den Aufruf so, wie er ist und nimmst aus dem Script im Elternfenster (das du ja so aufrufst) den "opener" raus.
Gruss Jan