I've also had the same issue ( Website body background rendering a right white margin in iPhone Safari ) and found that adding the background image to the
tag fixed the problem.
Before
body {background:url('images/back.jpg');}
After
html, body {background:url('images/back.jpg');}