paste this CSS into your body { } and your background should work on both browsers... also be sure your body css is not defined as class (.body) or id (#body)
Code:
background: #FFF url(images/bg_body.gif) repeat-y fixed center top;
about the image problem: looks like a "width" problem to me. Be sure your divs' widths and paddings are not "crossed" in any way (i.e. having a main div container with 500 width, and a float:left div 300width, plus a float:right div with 350width, will result in a "vertical problem" like the one you're experiencing. Explorer does it right, whenever total width exceeds container's width (paddings included), it puts a <br>, while mozilla seems to mostly "ignore" wrong paddings).