JJ,
You'll want to set the CI.Period.Term property to be your other counter's internal output. Then, you'll set your counter timebase source (CI.CtrTimebaseSrc) to be the line on which you are counting pulses. Think of it like this: In basic period measurement, the source is implicitly the internal timebase of the card. The gate (or sample clock) is the signal whose period you are measuring. When you select "ticks" instead of "Seconds," you get "ticks of the internal timebase," which is really no different. In this case, each rising edge of the gate latches in a new measurement, whether it be Seconds or ticks (it is all the same in HW). In your application, you want some periodic signal (generated by your other counter) to latch these new measurements, therefore it should be the gate, or sample clock, or other counter's internal output. Then, you'll want the "timebase source" to be the signal that you are measuring. I won't tell DAQmx that this isn't some periodic clock with a known frequency if you don't

. This is where duplicate count prevention comes in. As your device is not TIO-based, it does not support this property. This means that for any gate period which does not recieve source pulses, you will not buffer a data point. Will this likely be an issue for you (in other words, will you ever get no photons for 1 ms)?
Finally, as a retriggerable, finite, pulse generation requires 2 counters, you will not be able to perform this at the same time as your event counting task. In order to do this, you would need to upgrade to a board with at least 3 counters. Coincidentally, these boards (660x Series) also have duplicate count prevention. Please let us know if you have any more questions.
Hope this helps,
Ryan Verret
Product Marketing Engineer
Signal Generators
National Instruments