Hi,
If you want the grid to maintain the layout from design-time to run-time, then you have to make sure the data structure you set up at design-time matches exactly with the data source at run-time. In a recursive situation, this is probably not possible, since there are an indefinate number of levels in the hierarchy. You couldn't possibly set up every level of child band.
So I'd recommend using the InitializeLayout event of the grid to loop through the bands collection and apply any band-level settings at run-time.