al ser un boton creado en tiempo de ejecución tenés que asignarle el evento onclik en tiempo de ejecución tambien.
No se muy bien como es lo que intentás hacer pero te cuento como hice mi ejemplo. Tenía una grilla con varias columnas en un formulario y quería llenar una columna con botones. Entonces puse un boton en el formulario(en tiempo de diseño) le asigné un evento onclick.
Luego, en tiempo de ejecución creé los botones que sean necesarios para rellenar la columna del grid y le asigné el evento onclick (a cada uno de ellos) del primer boton que creé al principio.
algo así..
Código Delphi
[-]
begin
b:= Tbutton.create(nil) ;
b.Onclik:= Button1.Onclick; b.caption:= Button1.caption;
...
...
end;
Ese ejemplo es para solo 1 boton , luego tendrás seguramente más trabajo: arrays, listobjects, etc.
Espero que se haya entendido algo ..