Auf die Idee bin ich noch gar nicht gekommen, das wäre mal einen Versuch wert. Habe zwar mit dem Sender-Parameter noch nie gearbeitet, das sollte aber auch nicht all zu schwehr sein. Danke dir!
Und das war es auch schon
procedure TForm_Main.ButtonClick(Sender: TObject);
var
ii: Integer;
begin
for ii := 1 to 10 do
if (Sender = TButton(Form_Main.FindComponent('Button' + IntToStr(ii))))
then ShowMessage('Button' + IntToStr(ii));
end;