Steve,
The grid column has ONLY ONE Textbox. That is the one in the current row. The others are phantoms.
Stop using the object reference and pass the data from the recordsource. Use the grid's record source instead of the objects in the grid. The grid keeps the record pointer moving when you move in the grid so your other control can look at EVALUATE(Grid.Columns(TheColumnYouWant).ControlSource) to get the data for the textbox in the column.