там есть отличия, но они не должны влиять на это
в Tr-Dos при вызове этой функции (при подключенном образе), сначала вызывается функиця 40 с установленным 7м битом в A (т.е. автомонтирование образа), устанавливается переменная #5D16 =%001111dd (dd-номер дисковода), потом собственно вызывается функция 1, а после это устанавливаются некоторые переменные tr-dos: #5CFA (Время перемещения головки дисковода) =#00; #5CC8 (Тип дисковода) =#83; #5CCD =#80.
Но эти переменные никак не влияют на работу с образом.
Дело скорее всего в том, что выключен Tr-Dos mirror.
У вас в коде идет сначала автомонтирование на выбранный пользователем дисковод, потом на дисковод D и только потом вызов функции 1. И при выключенной функции Tr-Dos mirror настройки первого монтирования просто не сохраняются.
Меняйте порядок, сначала монтируйте на D, потом на выбранный дисковод.