TSL235R inconsistent output

The zero'ing shouldn't be much of an issue, and you won't have to worry about overflow then. Turning off interrupts to make your calculation is good though. If possible, just copy out the current value and continue on.

What is the expected frequency range of the pulses? millis() might or might not be enough depending on the frequencies you expect.

You might want to initialize your variables not in the loop, but instead do it before setup. You could run into scope issues otherwise if you try to call your values somewhere else.