I think you will need to use group select option
group on donor (ID)
insert a summary as a minimum of giftdate at the donor group
use group select statement to exclude all groups where the min date is more than a year ago
minimum(gift_date,ID)>=dateadd('yyyy',-1,currentdate)
or you can use a command object or stored procedure to limit the data set before you get it into the report
Note: group select criteria will leave all group names in the group tree and all of the summarys will include all data. RTs or variable formula calculations will exclude the filtered group data