Vince, I hope with the info about the timing you get your software to work. Please not that the Arduino Due I used does not use any of the standard AVR processors but an ARM processor. I think that if I would write the software directly in AVR assembly language it would run fast enough. However, I wrote it in the Arduino environment and when running it on an Arduino with an AVR processor (the Arduino Mega) I was loosing data. The Due is faster and works ok. So the binary is only for the Arduino Due, it will not run on other Arduinos.
You mention that you made an ECU simulator. For the testing of new versions of Espritmon, but also for the datarecorder, I use a spare ECU. I bought one in the US that is the same type used in the Esprit and replaced the Eprom with an Esprit version. Next I built a small circuit that simulates most of the loads/inputs on the ECU terminals and a block-wave (frequency controllable) to simulate that the engine is running. As a result the ECU thinks it is in a real Esprit and the data output on the ALDL is the real thing - i.e.not simulated. I really recommend such a setup as it prevents the issue you describe - having something working on your desk with the simulator but not when connected to a real Esprit. Here are two older pictures of my setup:
The module on top of the ECU generates the inputs, the white box in the second picture is the ALDL to serial box, connected to the laptop running a version of Espritmon.
Enjoy,
Erik