jcl,
When I look at the TRADE struct, I see this:
typedef struct TRADE
{
//...
float fArg[8]; // TMF arguments
//...
} TRADE;
Correct me if I'm wrong, but up to eight doubles are cast to float storage, which are then cast to double for the TMF arguments. I would assume this would compromise the integrity of the given 64-bit data.