io non so dove stia il problema, le condizioni sono giuste:

sopra=undefined // di default

quindi se hitTest e ! sopra // quindi quando ci passi la prima volta

sopra=1; // quindi la esegue solo una volta
animazione "appare"

poi

se non hitTest e sopra // quindi sei passato sopra e sei uscito

sopra=0; // la esegue una volta sola e se ci ripassi riesegue la prima
animazione "scompare"

ora io non so che dirti, probabilmente il problema sta negli stop() o nei percorsi! prova a togliere gli stop nei frame con la label

oppure fai il controllo direttamente su "area" e sostituisci _root.area con this.