Here is some psuedo code for a correct leap year test calculation.
if year modulo 400 is 0
then is_leap_year
else if year modulo 100 is 0
then not_leap_year
else if year modulo 4 is 0
then is_leap_year
else
not_leap_year
Since this, and other date checking code, is built into the TSQL Date functions I recomend using the examples that have already been posted.