I agree with JeffTullin (except for May of course;> ). The beauty of using dateadd("yyyy",1,dtdate) is that it handles your leap-year and millennium-leap for you.
Don't know if you know about the millennium-leap (if that is what it is actually called), Digsy, but your code doesn't...