Wow ... I don't know why you had to jump through all those hoops ... just a simple databind should have worked. I just use something like:
this.textBox.DataBindings.Add("Text", dataRow, "rest_bp_diastolic");
Do you have a Validate event handler that's preventing a DBNull.Value in this column?
[UPDATE] Ooops, let me change that just a bit:
this.textBox.DataBindings.Add("Text", MyDataTable, "rest_bp_diastolic");