La proprietà Autogenerate è True per default e provando con vb.net le colonne aggiunte da un datatable vengono aggiunte automaticamente alla collection Columns del DataGridView.
E subito dopo che è stato popolato il datagridview, all'interno della stessa sub ad es, è possibile nascondere la colonna nel modo che hai scritto tu.
Però forse non ho capito il tuo problema.
Esempio in vb.net
'cmd è l'oggetto oledbcommand
Dim adatt As New OleDbDataAdapter(cmd)
Dim tabellina As New DataTable("ordini")
DataGridView1.AutoGenerateColumns = True
DataGridView1.DataSource = tabellina
Try
adatt.Fill(tabellina)
Catch ex As Exception
End Try
'nasconde le prime 8 colonne
For i As Integer = 0 To 7
DataGridView1.Columns(i).Visible = False
Next