Beim obigen Code fehlt dir einfach eine lokale Variable "Panel1: TPanel". Beim unteren Code fehlte dir wohl die
Unit, in der TLabel deklariert ist in der uses Klausel.
Dein Code ist aber auch an weiteren Stellen von der Logik her fehlerhaft. Ich wage zu bezweifeln, dass die die Labels IMMER auf Panel1 erzeugen willst. Ansonsten würde das dynamische Erstellen nämlich wenig Sinn machen.