To use code highlight, you enclose your code in PASCAL tags... like this, without the spaces (depending on which theme you are using, I believe Traveler has integrated the code highlighting into the message editor).

[ pascal ]
Your code here
[ /pascal ]

With regards to using the more correct OOP approach to overrides.... if the user of your engine has the code, they can override it (or modify it to suit their needs).

With regards to the compiler crying at the @ symbol... if FreePascal's eventing mechanisms are the same as those in Delphi, then you shouldn't need the @ but, the method you try and call must be a method of a class because you've defined the holding variable as 'procedure of object'.