так это понятно, что по документации - все поля есть.
по документации и разделитель ';'
если "не знать", как должно быть. смотреть только на поведение.
у вас разделитель полей - ','
когда вы заменяете десятичную точку на запятую - вы по сути добавляете ещё одно поле.
без этого дополнительного разделителя наименование было восьмым полем, а единица измерения - девятым.
с дополнительным полем, девятым становится наименование. и попадает в нужное место.
подозреваю, что цена при этом получается без копеек. они же в другое поле ушли.