Die Klasse setzt das Label lastpage, per
\AtEndDocument{%
\label{lastpage}%
}
Das sieht auf den ersten Blick so aus, als müsse es funktionieren. Das Problem mit \label am Dokumentende ist aber, dass \label die Label-Information per \protected@write in die aux-Datei geschrieben wird. Das bedeutet, dass diese Information nur dann in die aux-Datei geschrieben wird, wenn anschließend noch eine Seite ausgegeben wird. Ist der
Seitenpuffer von TeX bereits ausgegeben, so geht die \label-Anweisung also ins Leere.
Genau das scheint in Deinem Fall passiert zu sein. Ursache kann beispielsweise sein, dass am Ende des Dokuments ein \clearpage oder eine \include-Anweisung steht oder anderer Code für ein \clearpage am Dokumenteende noch vor dem \label führt. Es kann aber auch rein zufällig der Fall sein, weil die letzte Seite gerade noch ausgegeben wurde.
Helfen könnte eventuell ein explizites \label{lastpage} noch vor dem Ende des letzten Absatzes (also beispielsweise unmittelbar hinter dem letzten Punkt des letzten Satzes oder sogar noch früher). Das wird dann allerdings zu einer Meldung wegen eines doppelt definierten Labels führen, sobald die Ausnahmesituation zufällig nicht mehr eintritt. Ein echtes Problem sollte hingegen dadurch nicht entstehen.
Falls Dich die Erklärung nicht interessiert oder Du sie nicht verstehst, bitte nicht darüber aufregen, sondern einfach nur den Vorschlag ausprobieren. Falls der auch nichts nützt, sei darauf hingewiesen, dass ich mangels vollständigem Minimalbeispiel (siehe meine Signatur) nur über eingeschränkte Informationen verfügte und das Problem nur theoretisch angehen konnte. Dabei habe ich mir erlaubt, nur die Zeit zu investieren, die für die erste Idee notwendig war, die mir in den Sinn kam.