Looking at the source for the latest kernel sound/usb/caiaq/audio.c, in the read_completed function, we can see the message being emitted by the caiaq usb kernel module. At the top of the module we can see that 32 urb buffers are defined.
This message is sent if all of these buffers are marked in-use. I think it makes sense that replugging the device would recreate these buffers.
This suggests a memory leak type of bug in this code or in related code within this Linux driver module.
Two suggestions:
Report this as a bug against the Linux kernel. Please see How do I report a bug?.
Try this with an updated mainline kernel. See this for updated instructions. You'll want the latest Linus' tree. I'll mention that proprietary drivers can complicate this process. Report the results of using the update mainline kernel in the above bug report.
A URB is a USB request block, and it's an analog to an IP packet. A buffer holds these packets for sending and receiving. Some quite technical information is here. Frames of sound samples are the typical payload for these request blocks.