Die
Unit, in der du das abgeleitete Control definiert hast, wird doch insgesamt nur ein einziges mal in deine Application hineingelinkt. Ergo existieren auch die Variablen aus dem Implementation-Teil insgesamt nur ein einziges mal, dh. für alle Controls zusammengenommen gibt es nur einen einzigen Datensatz.
Und um eben gerade diesem deinem Problem zuvorzukommen, sollten solche eigenen Controls ihre Daten daher auch möglichst immer vollständig in sich selbst definiert haben.
Also z.B. so:
Delphi-Quellcode:
TOwnButton = class(TPanel)
private
FBlablaData1 : integert;
FBlablaData2 : Double;
FBlablaFlag : boolean;
...
public
...
end;