I'm not sure I exactly understand why, but Jimi's comment is correct. Calling Me.Validate before GetChanges causes the changes to properly show up in the datasource.