Wie gibts du denn die Buttons bisher frei?
Am Besten fügst du alle Buttons in eine Liste ein, dann kannst du sie schnell und einfach wieder entfernen.
Delphi-Quellcode:
TFormX = [...]
private
MyRuntimeButtons: TObjectList;
[...]
Button := TButton.Create(Self);
MyRuntimeButtons.Add(Button);
[...]
FreeAndNil(MyRuntimeButtons); // gibt die Liste und alle darin enthaltenen Instanzen (wenn OwnsObjects = true) frei