@eimaj2nz said:
As far as I can tell, the DateDiff function does do the correct job of calculating the number of whole years between the two dates given. There is no WTF here. (See MSDN for more info on this function).
From MSDN
Larger Intervals. If Interval is set to DateInterval.Year, the return value is calculated purely from the year parts of Date1 and Date2.
For the age of a person, using datediff is just plain wrong.