Well, that rings true for a lot of my experience with NI, but my recommendation was based on writing a linux driver for one of the NI digital IO cards in a university class. I figured if we could do it in that class, maybe they're not all that bad?
So... I also used PCI based NI (Digital/Analog I/O) cards in the past (around the year ~2000), which then were supported by "comedi" (open source linux data acquisition drivers).
On the other hand, I recently got a few USB based I/O boxes from NI where no documentation on the USB protocol (or, god forbid, even open source drivers) exist.