I changed the variables that are modified in ISRs to volatile, and it seems to have fixed the issue. It makes sense that the timing might be different between two different computers, but I still don't understand exactly why it would only cause a problem with one computer. Oh well....