You know - sometimes the widths do play tricks..
Firstly - remove ALL REFERENCES OF WIDTHS from the CSS and the panes.
Go to Host/settings and CLEAR CACHE
Then check the pages after - what you want to see is that it's not taking the sizes up again.
Then, check that you don't have anything in the td tags that is set to - visible="false" - what this does is collapses the empty panes to not show.
Then you can try to configure one thing at a time.
However,when I have these quirky things happen, or explicity want to have a pane a certain size, I will often put in a container that is hidden or showing,that is in fact the exact width.
One of the tricky things to consider when working with sizes is that if you've got 100% width here, 450px there, 220px somewhere else, with a visible=true and a visible=false displayed somewhere - can cause mayhem on your skin.. It's just going through the process of the hierarchy and something has gotten lost in translation.
I generally try to work with as little sizing within the panes as possible since if you have an image that pushes out the pane (customers do this to you sometimes) and then some text in there, a fixed width to the td tag will then force the text to finish in an odd place.. which is why we see this sometimes with modules too - some take up more room than others, yet no width makes the containers also sit funny.
So, my tip, and it's only my own based on my own experiences, so there may be more experts with the answers ok, but a bit of an explanation on why it occurs and the coding that might make it happen, could help you.
You could also add some spacer.gif images in to hold it in place too. I've seen that done quite a bit.
Hope this helps.
Nina Meiers