La verdad creo que se están complicando demasiado. Se tienen tres funciones, Select_A, Select_B y Select_C y se les quiere llamar de manera genérica sabiendo como dato el estado "A", "B" o "C".
Si no se quiere introducir clases entonces basta con esta función:
Código Delphi
[-]
function Select(Estado: Char): Integer;
begin
case Estado of
'A': Result := Select_A();
'B': Result := Select_B();
'C': Result := Select_C();
end;
end;
simplemente llamándola con
// Saludos