The tri-state checkboxes are not a valid case if you load on demand the nodes. This is because you can not explicitly set the 3rd state of the checkbox - you can only set Checked=true/false;. The 3rd variant is coming implicitly, so if you don't have the entire tree by the time of of checkbox processing you will recieve as you said "inaccurate" checkboxes.
Also about the property CheckState:
This is only a getter-property - you can not set it.
The functionality that you need is not supported by our product.
If you need some kind of work-around, contact with us again and we will do our best to provide you with an option.
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Telerik Public Issue Tracking
system and vote to affect the priority of the items.