sei sicuro che ci sia un frame padre che si chiama 'top' al cui interno c'è un elemento immagine chiamato 'logo'?
c'è da dire comunque che per mantenerti sullo standard dovresti usare le funzioni getElementById e getElementsByName (guardati qualche reference) che sono standard w3c e quindi cross-browser... la tua sintassi è quella proprietaria di Internet Explorer!
Per fare un minimo di debug ti consigliodi farti fare l'alert degli oggetti a partire dal più alto gererachicamente, in modo da capire velocemente dov'è l'errore!