Nein du bist am richtigen Weg.
Wie CharlyTango schon gesagt hat. Machs NICHT in der GUI, da hat Lazarus so seine Probleme (IMHO Delphikomatibel -SCNR). Vielleicht schau ich mir das nächstes Jahr einmal in der IDE an, wenn ich mehr Zeit habe.
Dynamisch erzeugt sind Frames absolut Geil. Ich verwende mittlerweile fast nur Frames in den Layouts. Damit wird alles gekapselt. Damit kann man sich einen Werkzeugkasten wie die LCL im laufe der Zeit zusammenstellen. Und ja, man kann die auch gut vererben. Ich habe eine 'BaseFrame' für mich erstellt und leite alles von der ab, weil da ist alles drinnen, was ich in meinen Programmen sowieso brauche.
Edit:
Mich hatte halt nur gewundert, daß ich einen als published deklarierten Event gar nicht zu sehen bekam.
Noch schlimmer wird es, wenn du einen überschriebenen Event wieder löscht, dann wird der originale Event nicht mehr bearbeitet, da muss man dann händisch korrigieren.
WEnn du im Frame Änderungen machst, dann ist es am besten das Projekt in Lazarus zu schliessen und wieder zu öffnen. Dann tauchen manchmal die Sachen auf. Die Änderungverfolgung bei Frames ist etwas - bedürftig.