Ok, I'm back with this issue. I knew something was going on with the width.
Try this:
1) Create a grid with the horizontal scroll bar enabled. Set a fixed grid width.
2) Create some columns, make sure the sum of all widths are wider than the grid so that the scroll bar is displayed.
3) Run the page. So far so good. The grid has the width set in step 1)
4) Remove the grid width, now define the width in a css class, set the FrameStyle.CssClass to that class.
5) Run the page. The scroll bar is not enabled. The grid will be a wide as the sum of all columns. This is not consistent with step 3).