• 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;