CC, I think I found the problem

Code
	foreach(@stickies) { delete $forum_topics{$_}; }

	# delete topics older than DaysPrune
	$count = 0;
	while (($key, $value) = each(%forum_topics)) {
		if(($value >= $DPJulian) or ($this_forum[15] eq "abc")) {
			$count++;
		} else {
			delete($forum_topics{$key});
		}
	}
The counting of topics doesn't include any stuck topic. Therefore, if there's 500 threads, and 250 are stuck (I know it's a lot, but to prove a point), then the count is only 250. This means only 13 pages, even though there are enough topics for 25