Had a go at what happens when an Arduino Nano gets two interrupts at the same time. I strapped the External interrupt pins 2 & 3and fed them pulses with a Function Generator. Two interrupt service routines update the same variable, and the main loop shows which one got there first. Four possibilities:
- Both interrupts are ignored
- One interrupt is is ignored and the other processed
- Both interrupts are processed correctly
- Both interrupts are processed, but the variable is corrupted
Here's the program:

Results depend on how fast the interrupts arrive.
Up to 5kHz, the Interrupt on Pin 3 is reliably detected, and that on Pin 2 is ignored,
At 10kHz, problems appear. In addition to 237085 Pin 3 detections, there were 79 pin 2 hits, plus 13 corrupt results. Corruption occurs when the results of one process are being printed, and the check value is changed mid-flight by another interrupt.
The problem gets worse with increasing frequency.
At about 250kHz interrupts arrive faster than they can be processed, and the serial link fails.
If processing in main loop is minimised, rarely using the serial link, single interrupts are detected reliably at 1 megahertz, but it's very difficult to process them usefully. There aren't enough microseconds before the next interrupt arrives.
I think John is correct there's a phasing problem in the Horological Journal code. It's imperfect in that a pendulum or GPS tick would kludge if they coincided. However, with GPS interrupting at 1Hz and the pendulum at 2Hz, my gut feel is the risk of a collision is low, perhaps only causing grief once in a blue moon. Might never have happened in testing, or, depending on how the data is processed, the effect wasn't noticed in the statistics. Collecting the data once in 15 seconds would tend to hide glitches too.
Have to go out now, the car is covered in ice, and it's extra cold. No wind fortunately,
Dave