..."Bonusfrage: Ab wann wurde function / Method und Private/public in Records möglich ?"...
ab Delphi2007

Nein, schon ab Delphi 2006.
Ich habe damals sofort angefangen sie fuer nullable Types und Einheiten-behaftete Typen (Entfernung / Zeit / Geschwindigkeit) zu benutzen. Es war sowas wie eine Offenbarung.