So, it turns out that the issue had something to do with the read timeout not being long enough for 3000 samples. However the error message was not displaying because it occurred halfway through the while-loop operation, which then competed printing zeros and finished without displaying an error message. Replacing the while-loop with a for-loop logged one data point ata time and made the read timeout an irrelivant quantity. Thank you to Norbert B for your constructive feedback.
If anyone is interested in seeing the version of the VI that works properly, let me know.
To respond to Dennis Knutson: The number of samples and the sample rate are related quantities, but you cannot compare them directly since they have different units. Good idea with the loop acquisition though; that ended up solving the issue.
To respond to Jeff Bohrer: I am not programming as a student, and have no schoolmates posting. Having my boss contact you would not be productive, as he does not write labview code (This being the reason I was tasked with this in the first place). Please forgive my ineptitude; I am not a programer by trade, only a scientist trying to take data. Thank you for volunteering your time and expertice. It is very much appreciated.