The problem was indeed caused by the handling of aggregate functions specifically. Those are added to the report engine's aggregatelist (Engine.Aggregate) if they are directly entered into the text of a memo field. Only aggregates contained in this list are calculated when you print the report. If you set an aggregate function using the report script it is however not added to that list automatically.
The solution was therefore to manually add the aggregate function to the aggregatelist in the report script:
procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);
begin
Memo1.Text := '[ SUM( <DETAILDATASET."IntegerField">, DetailData1)]';
TFrxMyEngine( Engine).GetAggregates.AddItems( Page1);
end;
As the required functions (TFrxMyEngine.GetAggregates and TfrxCustomAggregateList.AddItems) are not available in report scripts out of the box they first have to be made available for the report as custom methods. I followed the official fast report dokumentation for that.