If a panel is not rendered and you do a partial refresh of the panel then the not rendered panel is not in the stack so it can't be refreshed. A tip that I picked up from one of the TLCC courses is to create an outer level panel called say panelAll which has no rendered properties. Now if you do a partial refresh of that panel the rendered properties of the inner panels/tables etc are recomputed. So for example I have an XPage with two panels call then panelTop and panelBottom. these to panels have opposite rendered properties based on a value in a viewScope variable viewScope.get("vsAction") == "" ? true : false for the panelTop and viewScope.get("vsAction") == "" ? false : true for the panelBottom. A button in the panelTop sets teh vsAction to something and then does a partial refresh of panelAll. A button in the panelBottom sets vsAction = "". and a partial refresh of the panelAll. The two panels toggle between rendered = true and false. If the button in panelTop attempts to do a partial refresh on panelBottom it will fail because it is not there.
Part of the problem is that the property is misnamed (IMHO) visible on the Data Properties panel, In the All Properties it is labeled correctly as rendered. So coming from a traditional Notes/Domino background I assumed it was like the Hide-When formula, BUT not so. I understand if you set rendered = false and loaded = true that the control is not visible but is accessible. I personally don't like that because it must be maintained in two places. If you want a control to be hidden but accessible then I use the Style property = "display:none". If you set the property of a panel to display:none then a partial refresh of just that panel will work and if the formula for the style changes it to say "" then the panel will display. The down side of this is that the content of the panel is loaded in the XPage. I frequently want a bunch of controls to be accessible by the javascript so I can do a getComponent(), but they are hidden from the user. So I stick them all inside a <xp:panel id="hiddenControls" style="display:none"></xp:panel>
Not sure how much of this appliers to your situation but these two paragraphs represent a lot of hours of trial & error and frustration as I figured out how XPages deals with scope etc.