Are you sure current record has always been committed?
When it occurs, what is the correct result, Esql or summary field?
others have pointed to a thread.
Found set (summary) is not the same as
in ExecuteSQL or in the function Sum()
1. ExecuteSQL is not found set aware
2. Sum works on several different values, including related, but never on the same table, same field. so also not found set.
IF you happen to show all records with Summary field, then all bets are off with Execute SQL or if you use the same search criteria in your query.
Make sure you eSQL calc field is unstored.
It is working with all records showing. This is not the only way the summary report is run but I simplified it to this state to identify the issue.
I get the same problem with sub summary by month and adding the month field to the sql query.