Not sure exactly what you mean. You say "scaling" I assume the image is being stretched, and you said "repeating-x longer than the display" so this means your image is being stretched AND tiled horizontally?
Explain what is happening in detail, are you trying to tile an image or just show it once or what? Also if you have the relevant HTML and CSS to post that would be great.
Well you see for some reason IE6 is fitting the body background image to "main" div size instead of showing it's real size.
By "longer than the display" I mean it's longer vertically on my monitor 1080 > 1024.
But on second thought this isn't the problem because it's fitting it to div's size not because it's taller then the display.
I guess that's all, I hope this could help for a solution.
The code is fine for modern browsers. As long as you write well-formed and proper code, I wouldn't worry too much about IE6.
If you want your DIV centered in IE you'll have to add text-align:center, but otherwise it looks fine in the bulk of browsers.
I can't even see what it would look like in IE6, I don't know anybody who uses it. And IE6 was buggy with CSS and DIVs anyway.
I don't know any designers who try to make things look good in IE6. Just test for IE6 and put a big message that says "you dolt, upgrade your browser or go away!"