There's a bug in the OnInitRow handling that prevents row assignments inside of the event from occurring properly. The hot fix is this:
function TDataRow.GetValueReadOnly(Index: Integer): Boolean;
if FDataSet.Editing or FDataSet.Initializing then <<<<<<<<<<< Change this line to look like this
This fix will be in 2.02 B5 coming out soon, but there's a memory overwrite issue in the IDE during the form designer tear-down of the design-time execution environment that I need to clear up, and these types of issues are notoriously hard to track down quickly.