It's hard to say anything without seeing the HTML code. But most probably it's the box model problem if the layout breaks in IE5-.
Here's the deal. IE5- browsers for Windows (Mac versions are unaffected) have a buggy implementation of CSS box model. If you have an element with width, padding and border specified with CSS, IE5- will include padding and border in the width, which is wrong.
The most popular workaround is this. IE5 for Windows luckily has another bug in parsing CSS files. If it meets two rules defining the same property it ignores the last one, and shows the first one. That is, if you have
IE5/Win will work with the first width declaration, unlike every other browser! Which means that your box will look the same everywhere, because all other browsers will obey the last width declaration, and you get a 40px box with 10px padding everywhere.