sounds like you need to adjust the logic for the shared variable in the subreport.
if you are just using SUM in the subreport, it will report everything, including items that were suppressed. To correct this, you would want to increment your shared variable for each line of detail that is displayed, then the variable will always represent what the user is seeing on the report.
HTH