Появилась потребность удалить записи Userpoints,которые меньше определенной даты.
Я решил это сделать через sql запрос.
алгоритм действий такой:
1) удаляем записи из {userpoints_txn}, которые меньше определенной даты (можно и другие условия :)). Для вычисления и преобразования дат есть тулза http://www.cy-pr.com/tools/time/
2) удаляем ВСЕ записи из {userpoints}
3) вставляем суммы значений, сгруппированные по uid и tid из оставшихся записей в {userpouints_txn}
SELECT `uid`, sum(`points`), `changed`, `tid` FROM `main_userpoints_txn`
group by `uid`, `tid`
ps: Делал тупо в phpmyadmin, наверное можно это облачить в более универсальную форму, в виде модуля или php сниппета. но мне лень