間違ってるかもしれないけど

もしかしてワールド座標の原点からキャラクターの座標離れてないか?
>>297だと「(ワールド座標原点から)目的地へのベクトル」を、
キャラクターのローカル座標に変換(ここで目的地〜現在地のベクトルが、キャラ〜原点の長さより微小だと、
いくら目的地〜現在地のベクトルを回しても「キャラから原点」のベクトルとほぼ等しいから動いてるように見えない)
さらに正規化してるのでベクトルが短くなって変化がわかりにくくなる

って処理になってる気がする
キャラクターの座標動かしてもベクトルが回らないなら俺が間違ってるけど

俺の言ってる通りなら
//目的地へのベクトル
VECTOR DestinationDirection = VSub(目的地 , 現在地);

= VGet(目的地)でいいと思うんだけど