don't know whether this is useful, but i see the following when i turn all compile warnings on:
2>WordList.cpp 2>c:\lyx\trunk\src\support/weighted_btree.h(1328) : warning C4244: 'argument' : conversion from 'int' to 'unsigned short', possible loss of data 2> c:\lyx\trunk\src\support/weighted_btree.h(1312) : while compiling class template member function 'stx::weighted_btree<_Key,_Weight,_Data>::iterator stx::weighted_btree<_Key,_Weight,_Data>::find(const std::basic_string<_Elem,_Traits,_Ax> &)' 2> with 2> [ 2> _Key=lyx::docstring, 2> _Weight=size_t, 2> _Data=int, 2> _Elem=lyx::char_type, 2> _Traits=std::char_traits<lyx::char_type>, 2> _Ax=std::allocator<lyx::char_type> 2> ] 2> ..\..\trunk\src\WordList.cpp(39) : see reference to class template instantiation 'stx::weighted_btree<_Key,_Weight,_Data>' being compiled 2> with 2> [ 2> _Key=lyx::docstring, 2> _Weight=size_t, 2> _Data=int 2> ] 2>c:\lyx\trunk\src\support/weighted_btree.h(1384) : warning C4244: 'argument' : conversion from 'int' to 'unsigned short', possible loss of data 2> c:\lyx\trunk\src\support/weighted_btree.h(1362) : while compiling class template member function 'stx::weighted_btree<_Key,_Weight,_Data>::iterator stx::weighted_btree<_Key,_Weight,_Data>::find_summed_weight(__w64 unsigned int)' 2> with 2> [ 2> _Key=lyx::docstring, 2> _Weight=size_t, 2> _Data=int 2> ] 2>c:\lyx\trunk\src\support/weighted_btree.h(2055) : warning C4244: 'argument' : conversion from 'int' to 'unsigned short', possible loss of data 2> c:\lyx\trunk\src\support/weighted_btree.h(1956) : while compiling class template member function 'std::pair<_Ty1,_Ty2> stx::weighted_btree<_Key,_Weight,_Data>::insert_descend(stx::weighted_btree<_Key,_Weight,_Data>::node *,const std::basic_string<_Elem,_Traits,_Ax> &,__w64 unsigned int,const int &,std::basic_string<_Elem,_Traits,_Ax> *,stx::weighted_btree<_Key,_Weight,_Data>::node **)' 2> with 2> [ 2> _Ty1=stx::weighted_btree<lyx::docstring,size_t,int>::iterator, 2> _Ty2=bool, 2> _Key=lyx::docstring, 2> _Weight=size_t, 2> _Data=int, 2> _Elem=lyx::char_type, 2> _Traits=std::char_traits<lyx::char_type>, 2> _Ax=std::allocator<lyx::char_type> 2> ] 2>c:\lyx\trunk\src\support/weighted_btree.h(2096) : warning C4244: 'argument' : conversion from 'int' to 'unsigned short', possible loss of data 2>c:\lyx\trunk\src\support/weighted_btree.h(2112) : warning C4244: '=' : conversion from 'unsigned int' to 'unsigned short', possible loss of data 2> c:\lyx\trunk\src\support/weighted_btree.h(2103) : while compiling class template member function 'void stx::weighted_btree<_Key,_Weight,_Data>::split_leaf_node(stx::weighted_btree<_Key,_Weight,_Data>::leaf_node *,std::basic_string<_Elem,_Traits,_Ax> *,stx::weighted_btree<_Key,_Weight,_Data>::node **)' 2> with 2> [ 2> _Key=lyx::docstring, 2> _Weight=size_t, 2> _Data=int, 2> _Elem=lyx::char_type, 2> _Traits=std::char_traits<lyx::char_type>, 2> _Ax=std::allocator<lyx::char_type> 2> ] 2>c:\lyx\trunk\src\support/weighted_btree.h(2133) : warning C4244: '=' : conversion from 'unsigned int' to 'unsigned short', possible loss of data 2>c:\lyx\trunk\src\support/weighted_btree.h(2164) : warning C4244: '=' : conversion from 'unsigned int' to 'unsigned short', possible loss of data 2> c:\lyx\trunk\src\support/weighted_btree.h(2146) : while compiling class template member function 'void stx::weighted_btree<_Key,_Weight,_Data>::split_inner_node(stx::weighted_btree<_Key,_Weight,_Data>::inner_node *,std::basic_string<_Elem,_Traits,_Ax> *,stx::weighted_btree<_Key,_Weight,_Data>::node **,unsigned int)' 2> with 2> [ 2> _Key=lyx::docstring, 2> _Weight=size_t, 2> _Data=int, 2> _Elem=lyx::char_type, 2> _Traits=std::char_traits<lyx::char_type>, 2> _Ax=std::allocator<lyx::char_type> 2> ] 2>c:\lyx\trunk\src\support/weighted_btree.h(2178) : warning C4244: '=' : conversion from 'unsigned int' to 'unsigned short', possible loss of data