Можно ли как то перемещать (менять местами) вверх/вниз ветки в дереве?
Можно перемещать из одной в другую ветку.
Менять местами нельзя в компоненте.
В KOL есть функция SwapNodes( i, j ) - обменивает узлы с индексами i и j местами.
Но в TreeViewTrain она не прописана, так что будет сложно сделать по образу и подобию компонентов TVT_DeleteNode и TVT_AddNode.
Или можно задействовать компонент TVT_ChangeNode с промежуточным запоминанием имён и данных.
i -> A, j -> B, B -> i,A -> j.