The natural thing to do is calculate the age in years in a cte, then calculate teh age in months for cases where the age in years is 0. That's pretty straight forward:
with years(person,dob,age_y) as
(select person,
dob,
DATEDIFF(YEAR, dob, @SDate) -
CASE WHEN((MONTH(dob)*100 + DAY(dob)) > (MONTH(@SDate)*100 + DAY(@SDate)))
THEN 1
ELSE 0
END as age_y
FROM @people)
select person, dob,
case when age_y > 0
then LTRIM(STR(age_y)) + ' Yrs'
else LTRIM(STR(DATEDIFF(MM,dob,@SDate) -
case when DATEPART(DD,dob)>DATEPART(DD,@SDATE) then 1 else 0
end)) + ' Mths'
end as age
from years
Tom