enecumene eso ¿no debería ser un Frame en lugar de un panel?
Según veo tienes un ID, un autor y la foto, pues eso es un frame, con dos labels y un Image colocados en tiempo de diseño, asignas sus eventos y listo.
Cuando quieras crear varios:
Código Delphi
[-]
uses MiFrame;
procedure TForm1.CreaFrame;
var
uno, dos : TMiFrame;
begin
uno := TMiFrame.Create(self);
uno.labelID.Caption := ' 0001';
uno.labelAutor.Caption := 'autor 1';
uno.image1.loadFromFile('c:\mifoto.jpg');
uno.top := 0;
dos := TMiFrame.Create(self);
dos.labelID.Caption := ' 0002';
dos.labelAutor.Caption := 'autor 2';
dos.image1.loadFromFile('c:\mifoto.jpg');
dos.top := uno.top + uno.height+5;
Lo he puesto así por claridad, se puede mejorar aun más. Si quieres más info, avisa. En el FTP tienes el ejemplo "crear calendario dinamico con frames", quizás te sirva.
Que conste que lo que estás haciendo se puede hacer, pero el Frame creo que puede facilitarte las cosas.
Saludos