El problema está en que cuando creas tus frames en forma dinámica, por defecto siempre seestá creando con el mismo nombre de componente.... FRAME1...
Debes asiganarle un nombre específico..
Código Delphi
[-]procedure TFMain.FormCreate(Sender: TObject);
begin
ZCanciones.Open;
ZCanciones.First;
While Not ZCanciones.Eof do
begin
with TFrame1.Create(Application) do
begin
Name:='FRAME_'+ZCancionesMA_ID.AsString;
MuID.Caption := ZCancionesMA_ID.AsString;
MuArtista.Caption := ZCancionesARTISTA.AsString+' - '+ZCancionesALBUM.AsString;
Image1.Picture.LoadFromFile(ZCancionesIMAGEN.AsString);
Parent := SCrollBox1;
Left := 2 + (Width * (ScrollBox1.ControlCount - 1));
Top := 0;
end;
ZCanciones.Next;
end;
end;