It's never going to work with absolute settings. Different browsers will render it differently. Different screen resolutions and window sizes also cause trouble with absolute settings. Use percentage of page settings instead.
You may also be seeing the IE/FF incompatibility. Placing both size styles (width, height) and surrounding styles (margin, border, padding) in the same tag or style causes all kinds of strange fit problems.
It is the nature of a div structure to fall apart if it won't fit. You will never create a div structure that holds its shape under all conditions. The reason it doesn't work is that there is no equivalent to the tr tag in div structures. Browsers float div tags wherever they will fit.
If you absolutely need the same structure to hold together for all window sizes and screen resolutions, use a table. It is not deprecated. There is a misconception about what is good web practice and what is not.
What is discouraged is using table tags to create borders, margins, and padding around website objects. At one time, this was the only way to put margins around pages.
The reason some people don't want tables used for page structuring is that it is confusing to people using a speaking reader for the blind. But if the table is used for just the two parallel columns, and not the rest of the page, it works well, and is not too confusing, since it is a table of sorts.