I'm not trying to be argumentative and in fact I agree with you, my point is everyone is doing this especially in Maryland. Take a look at any Div 1 teams roster and look at the birthyear's of the freshman all of them are older than what would equal your son's age.
based on your son being a 1999/7th grader the equivalent for a collge Freshman would be 1993. See chart below: 1999/7th 1998/8th 1997/9th 1996/10th 1995/11th 1994/12th 1993/College freshman
Here is UNC Freshmans Birthyear directly from their website.