Thanks for putting together a project that clearly illustrates the problem (with a small modification!)
In your DataViewModel you create your (dummy) value like such:
Guid(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
So, when you run the application and select a value you will see a blank Guid (all zeroes). All seems well, but it's not. If you replace that line with:
data1.Text_id = Guid.NewGuid
You would expect to see a random Guid when you select a value from the combobox, no? The fact is that the binding is not working and you see all zeroes like before.
I think the binding breaks when one or more Temp_id's (in the DataViewModel) contains a null value. If they are all non-null the binding works fine.
Edit: formatted code as code block