The only thing that makes TrueHD special is that TrueHD has extremely short blocks, and with short i mean like 0.8333ms per block. LAV will buffer a few blocks to avoid the biggest issues, and usually send 5ms samples to the audio renderer (because 5ms is the first where you get an integer number of milliseconds, which LAV prefers, 6x0.83333 = 5)
However, most other codecs have much longer blocks. DTS is typically 10.6667ms, AC3 is 32ms, so it is possible something doesn't like dealing with such short blocks. For example, a thread which does a Sleep(1) (sleep for 1ms) between processing blocks can already cause issues here.
I have never gotten any complaints otherwise, so i am somewhat inclined to blame some interaction with MC.
PS:
Bitstreaming actually has similar issues with short blocks, and because of this the bitstreaming spec says that 24 blocks (resulting in 20ms of data) should be packed up into one data packet so solve the issue. Obviously LAV does this for bitstreaming, or it wouldn't work. :p