It's not really a flaw, as in the sense of a mistake.
IMO, it's a limitiation...deliberatly made.
But, in anycase, this is one of those limitations which you can get around with some code though.
Try the below code.
You may have to do some experimenting with it:
Sub CenterColHeaders()
Dim curWhiteSpace As Currency
Dim col As MSDataGridLib.Column
Dim FormFont As StdFont
Set FormFont = Me.Font
'DataGrid1.HeadFont.Bold = True
Set Me.Font = DataGrid1.HeadFont
For Each col In DataGrid1.Columns
col.Caption = col.DataField
col.Alignment = dbgLeft
curWhiteSpace = (col.Width - Me.TextWidth(col.Caption))
curWhiteSpace = Int((curWhiteSpace / Me.TextWidth(" "

) / 2)
If curWhiteSpace > 0 Then
col.Caption = Space(curWhiteSpace) & col.Caption & Space(curWhiteSpace + 2)
Else
col.Caption = Space(1) & col.Caption & Space(2)
End If
col.Width = Me.TextWidth(col.Caption)
Next col
Set Me.Font = FormFont
Set FormFont = Nothing
End Sub