Peter
Have you tried to just set up your buffer to take into account the time betweeen pulses. For example to generate a 1 usec pulse and a 10usec delay you could output this data [1,0,0,0,0,0,0,0,0,0,0,1,...].
This will be the most accurate way of doing this. If you do the delay with a software timer, there may be some inaccuracies of the time of the delay.
Brian