When you first create or retrieve a DataCell object, you're loading it into memory. Modifying the member IDs will not modify the value of the cell, just where the cell will be stored once you eventually save it back to the database (either directly with api.Data.SetDataCell, or adding it to a DataBuffer and then saving that buffer with api.Data.SetDataBuffer).
If your IDs appear readonly, just create a brand new DataCell object passing the old one as parameter, e.g. dim newCell as DataCell = new DataCell(oldCell). That one will be editable. In your case, I think what you want to do is change the view ID, then use api.Data.GetDataCell(yourCellPKwithModifiedID) to retrieve the actual cell you want values for.