Ah! Here we go! The problem
is is the template.html. Apparently you can't put {SYS_MENU} and {SUB_MENU} below {GALLERY} in your coding. I was able to duplicate the problem in the Giallo theme by changing the code in template.html from
<tr>
<td bgcolor="#F0F0F0" valign="top" nowrap="nowrap"><div class="topmenu">{SYS_MENU}</div><div class="topmenu">{SUB_MENU}</div></td>
<td width="10" height="100%" style="background-image:url(themes/giallo/images/button_bar_shadow4.gif)"></td>
<td valign="top" bgcolor="#FFFFFF" height="100%" width="100%">
{GALLERY}</td>
</tr>
to
<tr>
<td width="10" height="100%" style="background-image:url(themes/giallo/images/button_bar_shadow4.gif)"></td>
<td valign="top" bgcolor="#FFFFFF" height="100%" width="100%">
{GALLERY}</td>
<td bgcolor="#F0F0F0" valign="top" nowrap="nowrap"><div class="topmenu">{SYS_MENU}</div><div class="topmenu">{SUB_MENU}</div></td>
</tr>
The changed code in that template.html causes {SYS_MENU} & {SUB_MENU} to show up on the right hand side just as it does in your theme.
No point in going into the reasons for this, because we aren't going to modify the scripts. What's needed is a workaround so that the script "reads" those tokens before it "reads" {GALLERY}, but still puts the menus in the right place. I have a couple of ideas on this, but I'm out of time right now, and won't get back to it until tonight. You seem to have some skill with layout, so see what you can come up with, and we'll get back together on this later this evening.
EDIT: Done! Ended up with another half-hour to play on the computer, and got this solved. What I have done is to switch the positions of the sidebar div and the text div, so the sidebar div is above the text div in the code, then align sidebar right and text left. See the attached zip for template.html.