Здесь немного другая ситуация. Есть компьютер. У него установлен по умолчанию какой-то принтер, например A4.
Пользователь посылает отчёт на принтер A4: отчёт создаётся (открывается) для A4 и печатается на принтер A4.
Пользователь посылает отчёт на принтер этикеток: создаётся (открывается) для A4 и печатается на принтер этикеток.

Здесь проблема в том, что СОЗДАНИЕ ОТЧЁТА (ОТКРЫТИЕ структуры REPORT) всегда происходит для ТЕКУЩЕГО принтера в системе.
А прописать Report{propprint:Device} = 'Название принтера' можно только после открытия отчёта.
Т.е. как не крути - но нужно переустанавливать текущий принтер системы PRINTER{PROPPRINT:Device} на момент открытия отчёта.

Если процессы печати идут последоватьно - нет проблем. А если работают параллельно - то GPF, с чего я в общем-то и начал тему.