In meinem Link oben wird genau dieser Self-Parameter dem Funktionsaufruf untergejubelt. Mit MakeProcInstance wird ein ausführbarer Speicherbereich erzeugt, der fest die Methode auf der betreffenden Instanz aufruft indem er diesen Self-Parameter noch zusätzlich in den Stack packt.
Anstelle der Methode selber übergibst Du als Callback-Adresse nun diesen Speicherbereich der den Rest für Dich übernimmt. Wie gesagt sehr tricky, und funktioniert getestet ab D5 bis zur Zeit einschliesslich D2006, aber immerhin tut es da