Hola.
Del modo que te sugerí, no tendrías ningún problema.
Ejemplo:
Código Delphi
[-]
unit Unit2;
interface
function MethodAssigned(aObject: TObject; const MethodName: string): Boolean;
implementation
uses TypInfo;
function MethodAssigned(aObject: TObject; const MethodName: string): Boolean;
var
Method: TMethod;
begin
Method:= GetMethodProp(aObject, MethodName);
Result:= (Method.Code <> nil)and(Method.Data <> nil);
end;
end.
Código Delphi
[-]
uses Unit2;
...
var
i: Integer;
begin
for i:= 0 to ComponentCount-1 do
if MethodAssigned(Components[i],'OnEnter') then ShowMessage(Components[i].Name+' tiene el método asignado');
...
Y detectará si el método cuyo nombre enviamos está activo en cualquier componente.
Saludos.