Cita: el problema creo q esta aqui.
If vaccion = "A" Then 'Nuevo
AgregaRegistro() // modo conectado
Else
ModificaRegistro() // Modo conectado
End If
adap.Update(ds1, "igeneral") // y todavia le pides q actualice
por en modificar registros simplemente le dices a tu dataset.Rows(n)=tunuevo row;
y depsues solo el adapter