I would suggest one of the Date Time Functions in SAS such as INTNX.
Google: SAS Date Functions
http://support.sas.com/documentation/cdl/en/lrdict/63026/HTML/default/viewer.htm#a000245860.htm
Below is an example;
data dates;
length start $8;
input start $;
datalines;
20040228
20040229
20040301
20030301
;
run;
data one;
set dates;
tmpstart=input(start,yymmdd8.)+364;
end=put(tmpstart,yymmddn8.);
new_end=intnx('year',input(start,yymmdd8.),1,'sameday' )-1;
format new_end yymmdd10.;
put _all_;
run;