outputBufferDacTime can act strangely depending on the host API and device.

Here's a sample of values from callbacks for the same device using PortAudio HEAD and ALSA on Ubuntu 10.04:

0.009
0.009
0.0296525
0.0265
0.0234583
0.0206042
0.0179167
0.0148542

The numbers seems almost random and are definitely non-monotonic. I would suggest using timeInfo->currentTime. 

But, even that can be flawed if the device does not support time info. currentTime is always 0 on the PulseAudio device I am using on Ubuntu 10.04.