"..one of the reports shows up without lines.."
The cause for this is, you use the same variable "args" for the second line. Do you know what happens with passing by reference?
Your Code should be like this:
args.record(custInvoiceJourLocal);
new MenuFunction(menuitemOutputStr(SalesInvoiceCopy), MenuItemType::Output).run(args);
args = new Args();
args.record(custInvoiceJourLocal);
new MenuFunction(menuitemOutputStr(SalesInvoiceOriginal), MenuItemType::Output).run(args);
Check the difference now.