I figured out what the problem was. The $reportRecords variable in
the bottom while loop was not cleared so previous values were being
output for keys that were not sent it. I just added
unset($reportRecords);
at the bottom of the loop to fix it. Logged as
http://code.google.com/p/sparkleplus/issues/detail?id=22
Isaac