Da sich der Code in einem begin-end-Block befindet muss jeder Befehl mit einem Semikolon abgeschlossen sein.
Das ist falsch - wir sind hier nicht im C++-Builder!
Diesen Unfug, daß generell hinter jeder Anweisung ein Semikolon zu setzen sei, las ich sogar schon in einem Delphi-Buch. Woher das stammt, ist mir unklar (aus anderen Programmiersprachen?). Auch Quellcodes quellen in der Regel von diesen überflüssigen Semikola über.
Nicht jeder Befehl muß mit einem Semikolon abgeschlossen werden, sondern es müssen nur
zwischen den Befehlen ("Anweisungen") welche stehen. Da "end" keine Anweisung innerhalb dieses Blockes mehr ist, kann eben das letzte Semikolon entfallen.
Zumindest ist es bis Delphi XE2 so. Kaum anzunehmen, daß ab XE3 die vielen überflüssigen Semikola plötzlich nötig sind.