Это должно делать то, что вы хотите:
DataRow firstRow = table.NewRow();
List<string> names = new List<string>();
foreach (DataColumn column in table.Columns)
{
names.Add(column.ColumnName);
}
firstRow.ItemArray = names.ToArray();
table.Rows.InsertAt(firstRow, 0);
Если первая строка уже существует и вы хотите «перезаписать», измените первую строку на:
DataRow firstRow = table.Rows[0];
И удалить последнюю строку.