That's a pity, if you had a 6404 then you would be able to use RapidBlock mode to do this. Unfortunately the 6403 does not permit you to set sufficient memory segments to capture 15 minutes of data and would only be able to handle about 4 minutes.
In your scenario you are looking to capture 1000 samples of data for each channel and repeat this every 4ms for the duration of the test. You may be able to use streaming mode and set it up to capture 1000 samples to a buffer and set it to auto stop and flag when it is done. Once your application sees the flag you will need to restart streaming but capture the data to a new buffer. Whilst the driver is capturing the next stream your application can process the data from the first buffer. The key will be to restart the stream as soon as possible after the first stream is complete to try and meet the 4ms repeat nature of the data, hence the use of two, or more, sets of buffers.