How about these solutions?
declare @DOB date = '20080229',
@CurDate date = '20130228';
select
@DOB as DateOfBirth,
@CurDate as CurrentDate,
datediff(yy, @DOB, @CurDate) - case when dateadd(yy, -datediff(yy, @DOB, @CurDate), @CurDate) < @DOB
then 1
else 0
end as TurnsYearOlderFirstOfMarch,
datediff(yy, @DOB, @CurDate) - case when dateadd(yy, datediff(yy, @DOB, @CurDate), @DOB) <= @CurDate
then 0
else 1
end as TurnsYearOlderLastOfFebruary;
set @CurDate = '20130301';
select
@DOB as DateOfBirth,
@CurDate as CurrentDate,
datediff(yy, @DOB, @CurDate) - case when dateadd(yy, -datediff(yy, @DOB, @CurDate), @CurDate) < @DOB
then 1
else 0
end as TurnsYearOlderFirstOfMarch,
datediff(yy, @DOB, @CurDate) - case when dateadd(yy, datediff(yy, @DOB, @CurDate), @DOB) <= @CurDate
then 0
else 1
end as TurnsYearOlderLastOfFebruary;
set @CurDate = '20130227';
select
@DOB as DateOfBirth,
@CurDate as CurrentDate,
datediff(yy, @DOB, @CurDate) - case when dateadd(yy, -datediff(yy, @DOB, @CurDate), @CurDate) < @DOB
then 1
else 0
end as TurnsYearOlderFirstOfMarch,
datediff(yy, @DOB, @CurDate) - case when dateadd(yy, datediff(yy, @DOB, @CurDate), @DOB) <= @CurDate
then 0
else 1
end as TurnsYearOlderLastOfFebruary;