This has its roots in the use of NI-XNET's C API. nxReadFrame only accepts number of bytes. It then returns the number of frames that can fit within that byte array (unless its single point, in which case it will error).
Any frames that are 24-bytes will work but anything past that are subject to this bug.
Work around: Call lower level read calls (like read_bytes) and do the post-processing yourself.