According to your reply everything checks out okay.
If a customer places an order that declines and then tries to place it again correctly will the session cause it to send the same order number causing the transaction to fail as a duplicate? Or if they place one successful order then place a second successful one afterward?