What version are you using? In 2.1.0.9, if I drop a GridDataboundGrid on a form, and then out this code in Form.load, I do not see a missing header. If you can post a sample showing the problem, maybe we can spot it.
private void Form1_Load(object sender, System.EventArgs e)
{
DataTable dt = new DataTable("MyTable");
int nCols = 4;
for(int i = 0; i < nCols; i++)
dt.Columns.Add(new DataColumn(string.Format("Col{0}", i)));
this.gridDataBoundGrid1.GridBoundColumns.Add(new GridBoundColumn());
this.gridDataBoundGrid1.GridBoundColumns[0].MappingName = "Col1";
this.gridDataBoundGrid1.GridBoundColumns[0].HeaderText ="Some text";
this.gridDataBoundGrid1.DataSource = dt;
}