Although I haven't tried this for buffered digital channels, it works for analog input channels, so give it a shot.
When using analog channels, before you call the AI Start VI, you can wire a vi located in Data Acquisition -> Calibration & Configuration called DAQ Occurrence Config vi. This VI will set an occurrence (like an interrupt) when the buffer reaches a certain size, and then you can perform your read of the buffer accordingly.
The best way to see an example of this VI is to go to LabVIEW/examples/DAQ/anlogin/anlogin.llb/Cont Acq&Chart (Asynch Occurrence). The occurrence will allow the data acquisition thread to still be open, and allow the CPU to perform other tasks while waiting for the occurrence to be set. This sounds exactly like what
you want.
I just checked the examples/DAQ/digital directory, and there is an example with continuous digital input which uses the DAQ occurrence VI as well, so this should work for you.
Mark