Hmm I think you're maybe focusing on the wrong symptom here (the equalsIgnoreAlias method of SelectItem). Rather I think it's because youre trying to retrieve values from the dataset based on a column qualifier which is unappropriate when in deed you're selecting an aggregated value (SUM(...)).
If you look at the DataSet interface there are three getValue(...) methods:
getValue(int)
getValue(SelectItem)
The two first are the low level ways of getting a value because they retrieve the values based on very precise qualifiers (ie. things that reside in the query - either a select item index or the actual select item).
The last one uses a column which is only possible if you're actually selecting such a column in your SELECT clause. You're not doing this, you're selecting an aggregatet value. So you can do two things:
1) Retrieve by index, if you know the index of your aggregate in the SELECT clause
2) Retrieve by SelectItem. To do this you need to keep a reference to the select item that you've created (new SelectItem(SUM, ...)).
Hope it helps.
/Kasper