Puede ser que tengas problemas a la hora de eliminar controles de la lista empezando por el principio; Haz ésta pequeña modificación en el código y debería funcionar sin problemas.
Código Delphi
[-]
Var
n:Integer;
begin
for n:=(Form_comparacion.ComponentCount -1) downto 0 do begin
if ((Components[n] is Tlabel) and ((Components[n].tag = 5)or(Components[n].Tag = 4))) then
Tlabel(Components[n]).Free;
end;
MessageDlg('Eliminados los Labels', mtWarning, [mbOK], 0);
form_comparacion.Close;