It seems that we already discussed a similar problem in the suppress group footer if group header is suppressed thread. Please review it and let us know if the problem still exists.
Thank you for your feedback. Now I understand the problem. I can suggest you two approaches to resolve your problem:
1. If you can find out which detail bands will be hidden in the GroupHeaderBand.BeforePrint and GroupFooterBand.BeforePrint event handlers, then you can hide corresponding group header and footer.
2. You can use the XtraReport.CreateDocument method to generate a report without printing it. In this case, you will be able to get indexes of group headers and group footers that have no detail bands. While printing a report, you should hide these group headers and footers.
We look forward to your feedback once you have had the opportunity to try this approach.