WeekOfTheMonth no devuelve todo lo que hace el calculo que haces con el SQL.
Debes traducir el calculo SQL con otras funciones Delphi:
DATEPART() - WeekOfTheMonth o WeekOfYear
DATEADD() - TDateTime + numero de días
DETEDIFF() - Restar dos TDateTime
Código Delphi
[-]function MyWeekOfTheMonth(Date: TDate): Integer
begin
AAA := DATEDIF(month, 0, fecha_nac);
BBB := DATEADD(month, AAA, 0);
result := WeekOf(Date) - WheekOf( BBB ) + 1;
end;