I just tried it again with the FIFO-based (board->Interrupt_A_Enable.setAI_FIFO_Interrupt_Enable(1) ) interrupt, too. I guess I fixed something that got everything working. I think this resolves basically every issue. I wish it was possible to do some of the NI self-calibration, but maybe some time in the future.
Anyway, I thank everyone for their help. I've got a working solution that I'm pretty happy with.
Aaron