Die App hat in dem Hauptformular inzwischen ca. 25.000 Codezeilen
Das ist eindeutig zuviel, Wie kannst du denn da noch navigieren? Wenn ich deinen Screenshot anschaue, dann nehme ich an, dass auf jeder Seite des PageControl andere Controls zu sehen sind. Bei dieser Anzahl von Pages kann ich mir dann aber schon vorstellen, dass man auf soviele Zeilen im Hauptformular kommt, wenn man nicht aufpasst.
Ich würde jede Seite in einen Frame auslagern, so dass jede Seite des PageControl in einer eigenen Unit landet. Einen Frame kannst du visuell gestalten wie ein Formular. Die Frames kannst du dann ins PageControl des Hauptformulars einfügen. All die Click-Handler etc. stehen dann halt nicht mehr im Hauptformular sondern in den Frame-Units. Da die verschiedenen Seiten wahrscheinlich gemeinsame Daten verwenden, würde ich noch zwei eine weitere Units verwenden, eine, die nur die Daten deiner Anwendung enthält, und eine die allgemeinen, von allen Frames verwendete Routinen zur Verfügung stellt.
Noch ein wichtiger Tip: Verwende bei jeder Komponente, die du auf das Formular/den Frame klickst, einen "sprechenden" Name. Bei Edit1 bis Edit194 wird man wahnsinnig!
Näheres über TFrame findest du z.B. auf
http://wiki.lazarus.freepascal.org/Frames.
Klar, das bedeutet, dein Programm von Grund auf neu zu schreiben, aber ohne diese Maßnahme wirst du dich in wenigen Monaten schon nicht mehr darin zurecht finden.