Попытался использовать ваш код (AppendMonitoringDate). Не помогло.
Пока выполнение команды не завершится новая строка не двигается.
Если её двигать после завершения команды, то всё работает нормально.
Делаю так (последнюю (новую) строку перемещаю в начало):
Sub Command_Completed(Command, Obj)
ThisScript.SysAdminModeOn
set rows = Obj.Attributes("ATTR_ROUTE_LOG").Rows
set r = rows(rows.Count-1)
rows.Move r, 0
rows.Update
'msgbox "ok"
End Sub
Есть ещё момент...
Command_Completed вызывается не сразу, а через пару секунд, так что в это время можно даже "поработать" в ТДМС (UI не блокируется).
Можно например наверное успеть выполнить эту команду ещё раз до появления msgbox "ok", и тогда... я не проверял. ))
Кстати, возможно, здесь работают те же грабли, что и при смене значка
P.S. всё-таки проверил, что будет:
запускаю команду, и до появления msgbox "ok" успеваю запустить её ещё раз. в результате Command_Completed вызывается один раз.
по первой команде записи в таблицу не добавляются, т.е. она прерывается где-то в середине.
т.е. получается если команда долгая, то до её завершения можно такое натворить...