when you say the report fails does that mean it crashes or it duplicates lines?
Basically you need to try and get your dataset after joining the tables
Don't try and build any part of the report until you know what the actual returned data set looks like.
the 4500 is easy to get if your data is alerady joined.
it is a running total as a SUM of the ext. cost field set to evalaute once per group and reset a the same group.
However I don't think what you gave me is the actual raw data set with all of your joins and fields added to the set.
With those you can often use a Primary Key from a table as a reset or evaluation trigger.
basically you have to get your data set all lined up beofre you build anything. Otherwise you will be working in shifting sand and never really get anywhere.
So with all of your joins set up (and enforced)
what doesw your raw data set look like that you want to eventually look like the sample above?