Hello Tom,
When doing software-timed updates, you can use a delay function in your loop which is doing the DAQmx Write. Increasing this delay should increase the delay between every sample that is written. Because this is software-timed, it is not deterministic so the time between the samples being output might be greater than what you are actually specifying the delay. However, this is not really a disadvantage compared to the current method you are using (duplicating array values to stretch the pulse) because it is also software-timed. I hope this helps!
Eric
DE For Life!