TreeViewは windowsのコモンコントロールのラッパーだから、
VCL側だけで並べ直しても意味がない。
コモンコントロールに対して送らないと結果は反映されない。
だからVCLはTVM_SORTCHILDREN を送って処理させてる。

で、自前のソートがやりたいなら 
TTreeNode.CustomSort を使う方が簡単