Hmm. I think I led you somewhat astray.
To do a running total, create a global variable. Actually, in this case, create two global variables. We'll call them NewRateTotal and OldRateTotal.
Create a formula, that should look something like:
WhilePrintingRecords;
Global NumberVar NewRateTotal;
Global NumberVar OldRateTotal;
If {ext} = "yes" Then
NewRateTotal = NewRateTotal + {NewRate}*{Hours}
Else
OldRateTotal = OldRateTotal + {OldRate}*{Hours};
Then, in your group footer, you can put something like:
WhilePrintingRecords;
Global NumberVar NewRateTotal;
Global NumberVar NewRateForReport;
NewRateTotal;
NewRateForReport = NewRateForReport + NewRateTotal;
NewRateTotal = 0;
And, another one for OldRateTotal. Then, in your report footer, put:
WhilePrintingRecords;
Global NumberVar NewRateForReport;
NewRateForReport;
However, given your specific requirements, there may be an even easier way. Try in your report footer:
SUM (IIF({ext} = "yes",{NewRate}*{Hours},{OldRate}*{Hours}))
That will sum everything up in one grand total. (If you want to just the NewRate sum, just replace the OldRate bit with 0, and vice versa.)