I'm not entirely sure of your problem, but I do know that GTK does not guarantee any thread safety for it's components. You should not be modifying the TreeView outside the UI thread. If this is how GTK manifests this problem, so be it. There is a Glib::Dispatcher() [1] [2] which would allow you to spawn the dispatcher in the UI thread, then push things from a worker thread and make sure the value gets updated on the UI.
I hope I'm actually helping the problem and not just being critical on style. :(
Cheers,