Your questions are concerning NI-DAQ function calls, and thus actually belong in the Measurement Devices categories, such as Multifunction IO. There you will find similar questions/answers and have the benefit of getting answers from other NI-DAQ users. I will go ahead and post a response here this time.
1. By setting your scanrate to 0, you are implementing round-robin sampling. Even intervals will separate each A/D conversion. For instance, if you are reading 3 channels, channel 0 is read, after interval X, channel 1, after interval X, channel 2, after interval X, channel 0, and so on. Usually, people want to scan their channels simultaneously, where channel 0, 1, and 2 are scanned, then after an interval, they are scanned again. This is interval scanning, where you set up a scan rate. However, this requires having separate A/D converters for each channel. If you are multiplexing many channels into one A/D converter, there is a slight delay between the channel readings, controlled by the channel clock. That makes up the sample rate. This is also described with a helpful picture in the KnowledgeBase 1DAIG7W3: What Is the Difference between Interval Scanning and Round Robin Scanning? You can find this on the http://www.ni.com/support pages when you search for search keywords, such as "sample and scan rate". Also, there is another posted Developer Exchange question ("Can anybody give me a clear explanation on Sampling rate and Scan rate as I am bit confused on the same?") that has a short and sweet answer without all the details in the KnowledgeBase.
2. When you set the scan rate, this delay between the first and the second scan is the scan interval. It's a function of what you put for scan rate. For instance, if you put 100 scans/sec, then you do each scan of your channels every 0.01 seconds.
3. The PCI-6024E is not a simultaneous sampling device because it has a multiplexer and one A/D converter. You can see this in the 6023E/6024E/6025E User Manual (http://www.ni.com/support).
4. In this context, a synchronous function call, such as SCAN_Op will wait in the function till all the specified number of scans are acquired and then return. Asynchronous function calls allow you to do other operations in the background. Also, you can implement occurrences and events when you take the asynchronous approach. There is a good Developer Zone document called "An Overview of DAQ Events and Occurrences" if you are interested. You will see several documents, including that one if you search http://www.ni.com/support for "asynchronous".
Regards,
Geneva L.
Applications Engineer
National Instruments
http://www.ni.com/support