You can't pass a method as a callback function, because methods have a hidden parameter pointing to the object, i.e,
[pascal]procedure TYourClass.YourMethod(Stuff: Integer);[/pascal]
is really:
[pascal]procedure TYourClass.YourMethod(Self: TYourClass; Stuff: Integer);[/pascal]
So, for callback functions, you need to use a normal (global) function.

I don't know about the RegisterClassEx function, however, though I'm sure Alimonster or someone will be able to enlighten you.