After running the month-end foreign exchange for October, half the automatically-generated entry got posted to October 31 (Ending Date Field) and half of it got posted on Nov. 15 and 29.(Nov. Cheque Run Dates) 

Note: Each month, the fx activity is run more than once because out late invoices in. The one in October I am referring to was the third and final running of fx.

Solution Cause:

It appears that unrealized gains/losses are handled differently in v2.6 than in 4.0:  

The same scenario in a 2.6 database is when both invoice and payment are posted prior to running the Adjust Exchange Rates batch job -- nothing is posted when running this job - ie. no postings at all to Unrealized Exchange Rate Losses acct.  

Example 1 -- where the Adjust Exchange Rate batch job is run prior to the payment posting -- works the same in both versions.  

V4.0 is handling unrealized gains/losses in a more accurate manner.

Results of an extenstive review of GL entries created during the adjust exchange rate batch job:

a.  that this is not occurring as a result of the upgrade to 4.00sp2

b.  that the Adjust exchange rates batch job is working as it should.

The entries to later dates than specified in the ending date field for the batch job are posted because Adjust Exchange Rates Batch job is run after payments have been posted into the next period for invoices that were open at the end of the period that the Adjust Exchange Rates batch job is running for.

As the Adjust Exchange Rates job is running everal times and users are continuing to post invoices back in time, the entries with later posting dates can be explained by the timing of posting invoices, payments and exchange rate adjustments.

Attached is a document explaining the functionality with examples.