In questo modo stati gestendo separatamente gli oggetti sul form1 e sul form2 quindi per aggiornare il form1 devi rilanciare l'interrogazione sul DB quando rientri su form1.
Ricorda che ADO.NET è un ambiente disconnesso e quando aggiorni il DB non aggiorni i controlli associati perchè i controlli non sono associati al DB ma al Dataset.
Una soluzione che preferisco è passare ad un costruttore della form2 (devi crearlo tu) un oggetto e "lavorare" quello: ad esempio, puoi passare al costruttore del form2 l'oggetto associato alla DataGridViewRow selezionata:
Dim f2 As Form2 = New Form2(dgv.SelectedRows(0).DataBoundItem)
Nel form2 usi un codice di questo tipo:
Ovviamente questo codice è altamente migliorabile (ad esempio utilizzando i DataBindings sui TextBox in Form2), ma per esprimere il concetto di passare un oggetto ho preferito non "complicarlo".
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole