Code from comment:
UINT nCurrentState = (m_FilestreeCtrl->GetTreeCtrl().GetItemState(hChildItem,TVIS_STATEIMAGEMASK)>>0xC);
You are not querying a check box state but the state image index. This index defines which image from the state image list is actually shown. By convention an index of zero indicates that there is no state image. An index of one (as detetected by you) is for the unchecked image. See also
How to Work With State Image Indexes (Windows)[
^].