Мысль "на-подумать":
принтак в режиме AutoSense умеет переваривать команды на разных языках, причём пытается распознавать прямо "на лету". Т.е. можно часть посылки на печать писать, допустим, на ZPL, а часть - на DP. Это позволяет во многих случаях использовать наработки на других языках без полного переписывания кода. Разумеется, могут быть ошибки в автораспознавании.
Более того, в новых прошивках есть фича (SmartSense), которая позволяет прямо в принтере "редактировать" посылку на печать, заменяя в потоке данных одни цифро-буквы на другие. Фича создавалась именно для подобных случаев, когда есть готовая посылка данных, которую нельзя или сложно редактировать со стороны хоста, а подправить её в некоторых моментах на конкретном сочетании кода и принтера таки надо.
Пока непонятно, почему принтер не отрабатывает ZPL код "как надо". Код выглядит простым. Если есть желание, время и терпение - можно попробовать подключить техподдержку вендора к вопросу. Румыны на первой линии поддержки вряд ли что-то толковое скажут, но если\когда вопрос эскалируется на "верхние" линии поддержки - разрабы в принципе могут подправить firmware, если это действительно ошибка эмулятора. Я подобный процесс (там был правда датамаксовский DPL) вместе с партнёром проходил осенью прошлого года - долго, муторно, но месяца за два решился, прислали новую кастомную прошивку, с которой ошибка исчезла.