How about
SetTreeItemAttribute(..., ATTR_MARK_TYPE, VAL_MARK_NONE);
This will make the box for that item disappear entirely; there will be a gap where the box would have been so that item labels still line up properly.
If you want the checkbox to appear but be inoperable, you'll have to intercept and swallow (return 1) the EVENT_VAL_CHANGED (eventData1 == VAL_MARK_STATE_CHANGED) event in your callback function. There is not a way to dim a tree checkbox, however, so you'll have to find another way to let your user know that the tree item is inoperable.
Hope this helps.
Mert A.
National Instruments