För det första bör du lägga till semikolon i slutet på raderna 2 och 8 i din kod... det gör säkerligen ingenting felaktigt i hur koden tolkas dock... de brukar vara ganska förlåtande mot sådant.
Jag gissar på att de tolkar self.opener olika... när jag skapar liknande kod i popup brukar jag använda window.opener istället... det är inte alls säkert att det beror på det, men det skadar ju inte att testa.
EDIT: Förresten, jag kom på en sak... testa att inte köra numItems++... du ska ju lägga till ett element på sista positionen och behöver då inte addera ett till elementet. Indexeringen är ju 0, 1, 2 (börjar alltså på noll). Och attributet length är ju ett högre än sista elementet redan.