Η συμπεριφορά αυτή του designer υφίσταται για δύο λόγους.
Ο πρώτος λόγος είναι ότι το DefaultValue property του DataColumn object δεν λειτουργεί με τον ίδιο τρόπο όπως οι default τιμές ενός πεδίου σε μια βάση. Στο πεδίο, μπορείς να ορίσεις ως default κάποιο expression το οποίο γίνεται evaluate κατά το insert. Για παράδειγμα, ορίζεις ως default το GETDATE() function ή μπορεί το expression αυτό να είναι ένα απλό literal δηλαδή να ορίζεις ως default value ένα string. Στο DataColumn μπορείς να ορίσεις μόνο literal. Κατ' επέκταση όταν κάνεις drag-n-drop από τον server explorer τον πίνακα αγνοεί τα default που έχουν τεθεί στα πεδία του πίνακα γιατί δεν μπορεί να τα κάνει parse μιας και τα expressions είναι platform specific (μπορεί να έχουν συντακτικό Access, SQL Server, Oracle, κλπ).
O δεύτερος λόγος (για τον οποίο δεν έχει νόημα να κρατάς default values) είναι ότι για να εισαχθεί το default value ενός πεδίου κατά το insert θα πρέπει ή να παραληφθεί αυτό το πεδίο από το statement ή να χρησιμοποιηθεί το DEFAULT keyword ως τιμή. Αυτό όμως δεν μπορεί να το κάνει αυτόματα το ADO.NET γιατί όταν καλείς την Update μέθοδο του DataAdapter, τότε ο DataAdapter στέλνει ένα batch από Insert, Update, Delete statements τα οποία είναι έτοιμα και περιέχουν τιμές για κάθε πεδίο της εγγραφής, δηλαδή αυτά τα statements δεν γίνονται generate δυναμικά και per row (όπως γίνονταν στο ADO).
Το καλύτερο που έχεις να κάνεις είναι να προσθέσεις κώδικα στην εφαρμογή σου ώστε όταν δημιουργείται νέο row να θέτεις τις ανάλογες τιμές στα πεδία σου.
Vir prudens non contra ventum mingit