private ist nur die eigene Klasse und die gleiche
Unit sichtbar. protected ist in abgeleiteten Klassen sichtbar. Zudem kannst du die Methode nicht überschreiben, da sie nicht als virtual deklariert ist.
Aber wenn du das Programm so runtergeladen hast, dann muss irgendwas faul sein. So funktioniert das definitiv nicht. Es könnte höchstens sein, dass der das progamm erstellt hat, die SynEdit.pas geändert hat oder auf eine andere Version aufbaut.