"Interner Fehler" ist ein Fehler im Compiler.
Manchmal hilft es in Zeile 17 ein Leerzeichen einzufügen.
Ähhhhh ... nja, Genaueres kann da nur ein Entwickler des Compilers sagen.
Manchmal hilft eine winzige Änderung am Code > Leerzeichen hier, Leerzeile dort, Reihenfolge von Variablen/Klassen/Typen also allgemein Deklarationen, bzw. Unitreihenfolge im Uses usw.
Oder statt am Montag nur noch am Dienstag zu kompileren.
Es gibt unbekannt viele Gründe, warum sich der Compiler verschlucken kann.
https://quality.embarcadero.com/