Two From headers is indeed a problem and violates the RFCs.
This is a fairly old system; is this the first attempt with this trunk? Or, had it been working and suddenly stopped?
I am guessing that some custom dialplan is responsible. On my systems,
grep -i calleridstring /etc/asterisk/*.conf
shows nothing.
The Asterisk log for a failing call should give you a clue as to where it is being used.