Как правильно - не знаю, но что неправильно - вижу
Операции вращения/масштаба всегда работают относительно какого-то центра (точки). Например, для вращения надо:
- отнять TRACKPIVOT
- выполнить вращение (правильно ли у Вас оно (пере)писано - не знаю, я пользуюсь матрицей поворота)
- прибавить назад TRACKPIVOT
Так же для масштаба, но где здесь центр - не знаю, может это тоже TRACKPIVOT а может и центр объекта. Разумная последовательность:
1) отнять смещение TRMATRIX и умножить на матрицу вращения TRMATRIX
2) выполнить вращение (см. выше)
3) выполнить масштаб
4) добавить TRACKPOS (это точно должно идти последним)
Все эти операции линейны и могут быть собраны в 1 матрицу