I can't help but jump to the old "IE6 hasLayout" issue (since this appears to be a visual bug). It might be worth your time to check your elements to assure that they have "hasLayout" - most rendering problems I've run into for IE6 that "make no sense" relate back to this property.
http://www.satzansatz.de/cssd/onhavinglayout.html
A quick and dirty way to see if the problem relates to "hasLayout" is to add the non-standard, IE proprietary CSS property "zoom: 1;". This will NOT validate, but it will grant "hasLayout" to any element to which it's applied. Just put it on all the elements involved, and it might fix the issue... Then, armed with the awful solution, you can figure out how to make it validate :)
/* in your css */
.my_box {
zoom: 1;
}