А можно вопрос? Почему вы вообще решили что вам нужно целочисленное, а не строковое значение?
Поле _vendTrans.Dimension[2] хранит текстовое, а не числовое значение. Поэтому переменная vendDim из вашего примера тоже должна быть объявлена как строка. Соответственно при инициализации этой переменной не нужно использовать функцию преобразования из строки в число str2int.
X++:
// Вместо
// vendDim = str2int(StrEdit.valueStr());
vendDim = StrEdit.valueStr();