Brian,
Make sure this is the only task that is running at the moment of running the VI. Maybe another task is consuming lots of processor resources.
I saw your VI, and you are changing the waveform signal on the fly, but inside the while loop. I am attaching an example program which can give an idea of how to change on the fly the values of the user.
Finally, the best way to allow the user to control the AO is to make a buffered output.
Hope this helps.
L Aguila
Applications Engineer
National Instruments