Es que... con un TObjectList sería muchiiiiisimo más facil, Sin necesidad de bucles, y pudiendo destruirlos y crearlos a voluntad:
Código Delphi
[-]
if not Assigned(Lista) then
Lista := TObjectList.Create(true);
var q:TQRLabel;
for i := 1 to NumCampos do begin
q := TQRLabel.Create( nil ); With q do
begin
campo:=ObtienePalabra(QRLabelnew.caption, ',', i);
longitud:= length(campo);
Name := 'QRLabel' + IntToStr(i); AutoSize := true;
Font.Name := 'Courier New';
Font.Style := [fsBold];
Height := 17;
Left := nCol;
Top := 32;
Width := longitud;
Caption := campo;
Parent := ColumnHeaderBand1;
nCol:= nCol+(longitud*7);
Lista.Add(q);
end;
FreeAndNil(Lista);
Lista.Clear;
Saludos