Andria,
I think that there was something else before in the mix because you CANNOT change the DisplayMember and ValueMember of the combo. When you use the PopulationDataSource settings, we create a temp ADO.NET table with two columns: Display and Value. These are the only two columns in the data source associated with the combo. So when you set it to cust_pk, it is telling you the truth, the field does not exist, nor has it ever.
If you want the value member to be something else, then set it in the PopulationDataSourceSetting. This is what the Value Member setting in the PopulationDataSource settings is for:
If you want to have your own display and value members, then create your own data source and you can set the display and value member to whatever columns exist in your data source:
Dim loTable As New DataTable()
loTable.Columns.Add(...)
MyCombo.DataSource = loTable
MyCombo.DisplayMember = "MyDisplayField"
MyCombo.ValueMember = "MyValueField"
And just for the record, we had to extend the DevExpress combo to even support a data source and value member. This is the most basic thing in the world and they did not even have it!!! It took a full day or two to implement this on their control which was something that should have already existed.