Насколько я в курсе, удаление маркировок и так выполняется при помощи
InventTrans::deleteMarking()
Возможно, раз был изменен InventTrans::updateMarking() и в качестве поля "маркировки" стали использовать еще и InventTransIdReturn, то именно с этим полем и связаны проблемы
По поводу InvoiceId, я же уже написал. Вроде бы, в складской проводке это поле заполняется в момент финансовой разноски. Т.е. Вам надо выполнять маркировку не в момент создания копии журнала, а в момент разноски журнала (post). Очевидно, для этих целей надо сохранять ссылку на лот-источник в строке самого журнала. Тогда отпадет необходимость модифицировать удаление
Хотя, вроде, поля в строках журнала для этих целей и так есть \Classes\InventMov_Journal\setInventRefFields. Просто используются в стандартном функционале по другому. Зеркально. Но никто не мешает заполнить их заранее в момент копирования