Que tal. Me he dado cuenta del error que cometí, la función funcionaría correctamente asi:
Código:
Function Edad(FechaNacimiento : TDateTime) : Integer;
Var
an, mn, dn : Word;
ahoy, mhoy, dhoy : Word;
Begin
DecodeDate(FechaNacimiento, an, mn, dn);
DecodeDate(Now, ahoy, mnoy, dhoy);
if (mhoy * 100 + dhoy) >= (mn * 100 + dn)
Then Result := ahoy - an
else
Result := ahoy - an - 1
End;
Hasta luego