The only crystal solution that I am seeing here is to use a sub report.
You will have to group on Name.
Create a shared variable=Name field.
Create a subreport and Place it in the Group Header B or the group footer.
Suppress Details.
IN the sub report run all the rows again. You will need to creat another variable that indicates the last NAME per ID. THen conditionally suppress records based on NAME <> shared variable OR NAME <> sub report variable.