as a general caution here:
I would be especially careful about your grouping at levels 1 and level 2.
Your description indicates this data is rolling up to a "unique customer" but you have it set to allow for 2 customers with the same name to roll into one summarization.
I assume you are only doing this so for sorting or dsiplay purposes. There are better ways to tdo this. one is simply concatenating the name and ID and grouping on that result. This also removes one level of duplicate grouping.
Onto your other issue:
From your description I think you are going to have to run sub reports which I do not like to do. They introduce complexities and more overhead on the the overall process, however, there is really no way within crystal to get a unique SUM of an Order Amount for all of a client's orders into a header when the data has it repeating in the detail section.
If at all possible consider putting that dat ain footers instead of headers. They are pretty simple to obtain in that section.
The other solution is using a stored procedure (or its equivalent) as your data source and getting the summarized values in the sp before even getting it into crystal. Then you can drop the fields into the respective headers to display.
You might also consider the sub report option in reverse.
By that I mean if you duplicate data rows are coming from a table join to get the details to display (invoce data) then consider using a subreport to display that data and not joining it into your main report data set.