Hi emvee,
The acquisition size attribute is intended more for distinguishing between the different memory options as opposed to telling you the exact number of samples that are available for acquired data. An acquisition or generation session uses some amount of the memory for purposes of managing the session, which is why you are not able to completely fill 2^24 samples with your data.
Also, the amount of padding required may vary slightly depending on the settings you choose, but it should always be less than about 300 samples.
I hope that helps,
Allen