Deznium,
I think that maybe the best thing to do right now, is to verify that your channels are correctly wired to the signals that they are measuring, and the device is reading correctly. To do this, I would recommend that you hook a DC signal up to the inputs you are trying to read. A simple way to do this is to wire your 6229's analog output channels into it's input channels, and write out a voltage. Then run your acquisition VI, and see if you measure the correct voltage level. If this does not work, it often points to an error between how the signal you are measuring is wired to the 6229, and the configuration of the 6229. With the example you posted, you have left the 'input terminal configuration' input to the DAQmx Create Channel VI unwired. As such, the channel will default to differential mode for its measurements. For this configuration you need to ensure that your signal(+) is attached to ai0 (pin 68), and your signal(-) is attached to ai8 (pin 34). If your signal(+) is attached to ai0, and signal(-) is attached to ai gnd, then you should use RSE mode. This is a common source of readings that seem incorrect.
If all of your connections and configuration are correct, then I would be curious what you are using to generate the signals you are measuring, and how your measurements compare to what you would expect. For instance, what is the square wave you attached supposed to look like ideally? What happens if you set aiMin/Max to +/- 10 V. Does this change what you read? I would be curious to see if it did.
As for the 'number of samples per channel'... I fear that I may not have been as clear as I would have liked yesterday. The parameter that you can omit is the 'samples per channel' input on the DAQmx Timing VI. It is unused for continuous acquisitions. I would recommend that you use the 'number of samples per channel' input on the DAQmx Read VI. This can make your data much easier to interpret, as you are sampling at a known rate. By specifying 'number of samples per channel' to the Read VI, you can read data in chunks that correspond to know blocks of time in your acquisition. For instance since you are sampling at 1000 Hz, if you read 200 samples per channel, read will return .2 s worth of data every read. This makes viewing the data on a graph a little more intuitive.
I do want to point out that the parameter you specify here has no effect on the A/D, and will not cause it to miss samples. Basically when you call the start VI, your 6229 starts acquiring data at the rate that you have specified. This data is sent from the device to a buffer in DAQmx via DMA. This happens continuously, whether you read the data or not. When you call read, DAQmx reads data out of this buffer and returns it to you. The 'number of samples per channel' parameter of the read VI, simply specifies how much data should be read out of that buffer. If there is not enough data there, read will wait for more data to appear in the buffer. This is independent of the timing controlling the A/D.
I have attached an example, in which I have formatted the X-Axis to display time, rather than a zero based index for the data displayed. To adjust the format for this axis, right click on the graph and select X Scale->Formatting and select the Format and Precision tab.
I hope this helps. If you have further questions, please reply back.
Dan