I'm sorry, but your analysis of the problem must be wrong. It's not true that the invoice posting process in SalesInvoiceJournalPost has access just invoice headers, not the whole invoices, and the actual posting is done somewhere else.
If you look into SalesInvoiceJournalPost class, you'll see a lot of logic working with CustInvoiceTrans records. For example, notice the select statement for newly created invoice lines in postJournalPost() method.
It's impossible that the records exist in the database when code runs in the standard class but not in your extension. The problem must be in how you're trying to get the data.
In fact, the records exist even before SalesInvoiceJournalPost class gets involved, because the journal gets created (by SalesInvoiceJournalCreate) before it gets posted (by SalesInvoiceJournalPost). CustInvoiceTrans records are inserted to the database in FormletterJournalCreate.insertRecordList(). Do you think otherwise?