That code infers that it always starts at the last entry, but that is too inflexible. What happens if you want to start at at entry which is neither the first nor the last? In your previous example you had 52 entries, one for each week in the current year, and you wanted the transaction to start at the week number which represents the current week.
If you have code in _cm_initialise() which sets the initial value for $this->pageno then I have managed to get a RESET to restart at the same value by making a small change to std.list3.inc from
if (isset($_POST['reset'])) {
// initialise all settings to start afresh
$dbouter->setSqlSearch(null);
$dbouter->setPageNo(1);
$dbmiddle->setPageNo(1);
} // if
to
if (isset($_POST['reset'])) {
// initialise all settings to start afresh
$dbouter->setSqlSearch(null);
$where = $dbouter->initialise($where);
$null = $dbmiddle->initialise($where);
} // if
I think this method will give more flexibility.