Me.CurrentDataTable.Rows(0).SetModified()
This will tell the BO that this record needs to be updated. If it is a new record then use this method:
Me.CurrentDataTable.Rows(0).SetAdded()
When you copy the data in the CurrentDataTable rejects any previous changes. If you look at the .IsDirty property before and after the copy, you will see that it will be False after the copy.
This would be related to .NET since we do not have control over the compiler. But there is something not quite right because I know that I have done this in the past.
Look at the second parameter. There is an option to append or clear.