Por lo que me fijo, estas ciclando con Qry_Detalle y modificando Qry_Catalogo.
Código Delphi
[-]
Qry_Catalogo.Open;
while not Qry_Catalogo.Eof do
begin
Qry_Catalogo.Edit;
Qry_Catalogo.Value := ppVariable2.Value;
Qry_Catalogo.Post;
Qry_Catalogo.Next;
end;
PD: ¿No prefieres usar SQL y que se encarge el motor?