What types of reconnection issues are you having with TT FIX?
Below is only my understanding, I am not an expert in FIX.
There are two types of connection, one is persistent, other is non-persistent. That is the settings of the server (AFAIK).
With persistent connection all messages are stored on hard drive and when session is reconnected, server sends again every message. When I downloaded TT SIM it was by default. But if my application receive all executions twice, the counter of open positions will be invalid...
The non-persistent connection does not send every message. But I have to implement UAN request, to receive open positions and open orders from the server.
I was not able to test disconnect issuer because of I run program and server on the same PC. Then I went real account with real money (I did not have demo account from Velocity).
One bad day I saw that my session was disconnected and there is no realtime market data coming. I was impulsive and closed my application, but it already had opened positions. I closed these positions with loss. The demo system running for IB TWS was profitable at that day, but my real running with FIX lost money

.
I examine log files, I marked disconnect event bold:
begin of log file skipped
11/20/2007 8:33:08 AM
Logon OK, sessionId = FIX.4.2:YEVORDER->TT_ORDER
11/20/2007 8:33:08 AM
Logon OK, sessionId = FIX.4.2:YEVPRICE->TT_PRICE
NewOrder 1 BUY StrategyStarter.CMySymbol strategy = 0 756.6
DISCONNECT
11/20/2007 10:08:31 AM
Logon OK, sessionId = FIX.4.2:YEVORDER->TT_ORDER
11/20/2007 10:08:31 AM
Logon OK, sessionId = FIX.4.2:YEVPRICE->TT_PRICE
CRITICAL ERROR: onMessage(ExecutionReport) STATUS = NEW, and !nMyID
8=FIX.4.29=33935=834=449=TT_ORDER50=NONE52=20071120-15:08:44.39456=YEVORDER57=NONE129=NONE1=34695162406=014=017=224D68221:120=031=032=037=224D6822138=139=040=244=7566048=00A0LH00ER2Z54=155=ER258=Downloaded from Gateway59=060=20071120-15:08:44.39477=O150=D151=1167=FUT198=07152jm1200=200712207=CME378=4442=110455=ER2Z710=247
CRITICAL ERROR: onMessage(ExecutionReport) can not find order!!!
8=FIX.4.29=34735=834=549=TT_ORDER50=NONE52=20071120-15:08:45.83156=YEVORDER57=NONE129=NONE1=34695162406=014=017=060HD3407:320=031=032=037=060HD340738=139=440=244=7517048=00A0LH00ER2Z54=155=ER258=Order not found on gateway at startup59=060=20071120-15:08:45.83177=O150=4151=0167=FUT198=071509wh200=200712207=CME442=110455=ER2Z710=023
Continue execution...
ORDER CANCELED: id = ER2 Order not found on gateway at startup
CRITICAL ERROR: onMessage(ExecutionReport) can not find order!!!
8=FIX.4.29=34735=834=649=TT_ORDER50=NONE52=20071120-15:08:45.84756=YEVORDER57=NONE129=NONE1=34695162406=014=017=060HD3858:320=031=032=037=060HD385838=139=440=244=7531048=00A0LH00ER2Z54=255=ER258=Order not found on gateway at startup59=060=20071120-15:08:45.84777=O150=4151=0167=FUT198=07150a05200=200712207=CME442=110455=ER2Z710=229
Continue execution...
ORDER CANCELED: id = ER2 Order not found on gateway at startup
CRITICAL ERROR: onMessage(ExecutionReport) can not find order!!!
8=FIX.4.29=34735=834=749=TT_ORDER50=NONE52=20071120-15:08:45.86356=YEVORDER57=NONE129=NONE1=34695162406=014=017=0A0ZXY901:320=031=032=037=0A0ZXY90138=139=440=244=7525048=00A0LH00ER2Z54=255=ER258=Order not found on gateway at startup59=060=20071120-15:08:45.86377=O150=4151=0167=FUT198=071505vu200=200712207=CME442=110455=ER2Z710=215
Continue execution...
Due to the lack of documentation I can not understand what is going on

.
I see two types of server events:
Downloaded from Gateway
Order not found on gateway at startup
Why I receive ORDER CANCELED event? Is my session persistent? My UAT request does not work.
My algorithm:
Strategy (0, 1, 2...) produces limit order. I calculate unique ClientId and send this order to the server. Then I receive execution event with status = NEW, it contains my CliendId and server OrderId. I map OrderId -> strategy order.
Next time my strategy needs to cancel an order, I know OrderId and I can cancel order on the server.
If I receive FILLED event then I am getting ClientId, find the correspondence strategy order and update strategy positions.
But after disconnect server sends me NEW event without ClientId, I can not map that order. My program logs error "CRITICAL ERROR: onMessage(ExecutionReport) STATUS = NEW, and !nMyID".
How should I process messages from the server after disconnect? Could you please help me?
Thank you in advance.
RR