Bob,
It used to be the case that the panes were built using tables, so when one <td> wasn't occupied the other panes would expand to fill the space. With the tendancy to be for valid XHTML and div based designs now this is all handled through divs, and these tend not to expand to fill space as easily as tables do.
What you have written is correct, you can create an almost unlimited array of panes, I tend to build them one layout above the other, with a clearing div between them, so for instance I'll have a single column, followed by a triple column layout, clearing div, two colum layout, clearing div, and then a footer pane. I've included a sample of the code below.
<div id="dnn_ContentPane"></div>
<div class="clear"></div>
<div id="dnn_LeftMarginPane"></div>
<div id="dnn_InnerContentPane"></div>
<div id="dnn_RightMarginPane"></div>
<div class="clear"></div>
<div id="dnn_LeftHalfPane"></div>
<div id="dnn_RightHalfPane"></div>
<div class="clear"></div>
<div id="dnn_FooterPane"></div>
I'd then use CSS to float the 3 column and 2 column layouts the way I wanted and when you logged into DNN the various pane options would then be available to you and when you log out, any that are empty get assigned a class which you can set the display to none for.
I hope this makes sense, if not please let me know.
Regards,
Rick.