Agradezco a todos su colaboración... fue muy útil, tanto que a partir de ahí tomé la decisión de usar el siguiente código:
Código Delphi
[-]
function MyFunc1: Boolean;
begin
...
end;
function MyFunc2: Boolean;
begin
...
end;
procedure TForm.OnEvent(Sender: TObject); var
MyFunc: function(): Boolean;
begin
if Condition = 1 then
MyFunc := MyFunc1
else
MyFunc := MyFunc2;
...
if MyFunc then
...
...
end;
... y funciona a la perfección. Prácticamente el problema era la declaración, incluso el lugar de la declaración. Me estaba enredando un poco con la teoría de funciones virtuales, pero como no estaba derivando ninguna clase me quedé barado, pero ahora todo está bien.
Gracias nuevamente.