El campo calculado debe ser InternalCalc ( FieldKind := fkInternalCalc; Calculated := False; ) para poder ser usado en un campo agregado.
Ten en cuenta que los valores de los campos agregados no se calculan automáticamente sino sobre demanda con código similar al siguiente:
Código Delphi
[-]Edit1.Text := CurrToStr(ClientDataSet1.Aggregates.[0].Value);
Otra opción es que la expresión del campo agregado se la suma de la expresión del campo calculado, algo así en tu caso:
Código Delphi
[-]SUM(PRECIO * CANTIDAD - DESCUENTO)
Espero que te sirva.
Saludos, Pablo.