This is just a wild-assed-guess, but could it be that the dwSequence numbers have to be correct? It seems that EQLib just re-uses the most recent dwSequence number when building the DIDEVICEOBJECTDATA. This would have the effect of the MQ events all having the sequence number of the last real event....