Intanto di dico che lavorando in maniera disconnessa, le eventuali ID (autoincrementate) vengono gestite dal dataset ed aggiornate nel database al momento del comando TableAdapter.UpdateAll. Queste id vengono gestite usando numeri negativi -1,-2,....
al momento della scrittura dati sul db vengono aggiornate con l'id giusta fornita dal database.
Ti consiglio comunque di fare una prova con un semplice form con una sola tabella:
- aggiungi l'origine dati al progetto selezionando la tua tabella
- vai nel form e ci trascini la tua tabella dalle origini dati del progetto
poi dai un occhiata ai vari componenti che vengono creati automaticamente e fai alcune prove.