Μου είναι δύσκολο να καταλάβω για πιο λόγο δεν σου κάνει η Columns.Add του DataGrid αφού κάνει αυτό ακριβώς που θες. Στην τελική να το πω καλύτερα αυτήν θα χρησιμοποιήσεις, οπότε....
Ίσως να το ξεκινήσουμε πιο πριν πριν την καλέσεις. Μπορείς να δημιουργήσεις ένα object του τύπου DatagridColumn. (Συγνώμη δεν θυμάμαι ακριβώς τώρα πως λέγεται, αν μπορεί κάποιος ας με βοηθήσει σε αυτό.) Αυτό το object κάνει publish κάποια properties όπως αν είναι combobox column, τι όνομα θα έχει, τι caption, το DataPropertyFieldName, για να το κάνεις bind κτλ. Μπορείς λοιπόν να φτιάξεις μία φόρμα που να τα καθορίζεις αυτά και όταν πατάς ΟΚ στην φόρμα σου να καλέσεις την Columns.Add του Grid με παράμετρο το object που μόλις δημιούργησες.
Δεν σου κάνει αυτό;