Serial data corrupt on ONE computer....

2nd parameter should have a value - in this case, it should be around 300 (RPM). Interrupts capture a running total of how long the injectors have been open (and number of times opened) since the dawn of time (or power, in this case). The main loop captures a snapshot of those values every x milliseconds (1000, in this case), and compare the current values with the last sample. The difference is how long / how many times it opened during the sample period. Values are as follows:

Total injector on-time during this sample period,
RPM,
MPH (placeholder for now),
X Axis acceleration,
Y Axis acceleration,
Z Axis acceleration,
Coolant temp placeholder,
Air temperature,
Count of injector events this sample period.

PaulS:
You have two ISRs defined. In those ISRs and in loop(), you reference the same variables, and yet there is nary a volatile keyword in sight. Why would that be?

You are correct. Pin two and three are both being used as interrupts for the injector signal, but on opposite edges. The injector should never open and close quick enough to actually cause a problem, but I hadn't considered asynchronous read access of the main loop as being an issue. I understand that this could be an issue if the values change significantly. FWIW, I've logged literally hours of data and this doesn't seem to be an issue on the desktop.

On a side note, while this might be my first post, I've been reading this forum for a while, and I've noticed a certain tone in a number of your responses. I don't know for certain what your intended tone/attitude is, but keep in mind the audience that you are dealing with. I would be suprised to learn that the majority of users on this forum are experienced, professional programmers. I myself was never formally educated on any high level language, and I take a great deal of pride in my self-inscribed abilities. I appreciate your input, but I still feel that you could have presented it in a format that doesn't carry the risk of sounding condescending.

"You have two ISRs defined. In those ISRs and in loop(), you reference the same variables. You should be using the volatile keyword when declaring them. This prevents the compiler from optimizing them under the assumption that they can't change on their own." would have worked just fine.

Thanks