I experience the same problem too.
I think it is a bug in DataGrid control in .NET 2.0. It happens when "AutoGenerateColumns" is set to true. GridView1.Columns.Count is always equal to the number of columns being added through designer, but NOT bound columns. Even in GridView1_PreRender, the
GridView1.Columns.Count is incorrect. I think the ColSpan value is based on the GridView1.Columns.Count.
Though, I haven't found a better workaround except altering the last row's pager cell to have correct ColSpan value.