Credo che il fulcro del problema sia qua:
codice:
dtPianificazione.Rows.RemoveAt(iRow - 1)
dtPianificazione.AcceptChanges()

Me.grdPianificazione.DataSource = dtPianificazione
dtDatiCancellazioni = dtPianificazione.GetChanges(DataRowState.Deleted)
Con le prima due righe cancello la riga che mi interessa cancellare, poi faccio l'accept changes.

L'ultima riga, dove assegno al datatable dtDatiCancellazioni le modifiche che ho effettuato, forse non fa quello che voglio che faccia visto che dtDatiCancellazioni sarebbe uguale a nothing, anche se in realtà la riga, a livello di rendering della griglia, in effetti risulta cancellata. Ma la modifica non viene apportata al DB.

Come mai?