Cynthia,
The problem, as I recall, was that the scheduled proc which checks for unsettled transactions thinks the transaction has not been settled and tries to do it. Since it already has been done, this is unnecessary and results in an extra transaction id being assigned. Setting the settled date at the time the transaction is marked seemed like the easiest way to fix this. Perhaps there is a better way; as I said, we were in a tearing hurry to fix a live site when this all happened.