I've had few problems with Logic as a live host - - except that at the start of a session there may be some clicks. After the first pass these disappear and do not return. However I keep the I/O buffer set to 512 or 1024k - this works with my MOTU 2408 mk3. According to rumor, the Apogee Symphony PCIe card attached to one of Apogee's converter boxes (Rosetta 800,AD 16 +DA 16) works well with much smaller buffer sizes - - but is a rather expensive solution.
At some point I will try using only CC data - - no keyswitches - - for changing patches in matrices and see how this works when freezing or bouncing offline. (I suspect that using keyswitches may be the source of the problems I encountered with freezing and offline bouncing.) Even if that is not the case, using different channels for different patches would not be an efficient solution for me - - it's very useful to me to have all the patches for a given instrument on one MIDI channel as I work starting with writing the score in Finale - - set up to play back audio instruments instantiated in Logic. If I need a high quality mockup, then I transfer the score via MIDI file to Logic for tweaking. I found that using channel changes on a single staff in Finale sometimes made the MIDI files difficult to sort out, whereas having all articulations on one channel makes this process very simple - - and worth the price of having to do real time bounces. It's really a lot easier than having something like 64 or more staves for a string quartet (having each different articulation on a different staff is the best way to go if you are using separate channels for each articulation and intend to make a MIDI file to transfer the music to a sequencer).
At some point I will try using only CC data - - no keyswitches - - for changing patches in matrices and see how this works when freezing or bouncing offline. (I suspect that using keyswitches may be the source of the problems I encountered with freezing and offline bouncing.) Even if that is not the case, using different channels for different patches would not be an efficient solution for me - - it's very useful to me to have all the patches for a given instrument on one MIDI channel as I work starting with writing the score in Finale - - set up to play back audio instruments instantiated in Logic. If I need a high quality mockup, then I transfer the score via MIDI file to Logic for tweaking. I found that using channel changes on a single staff in Finale sometimes made the MIDI files difficult to sort out, whereas having all articulations on one channel makes this process very simple - - and worth the price of having to do real time bounces. It's really a lot easier than having something like 64 or more staves for a string quartet (having each different articulation on a different staff is the best way to go if you are using separate channels for each articulation and intend to make a MIDI file to transfer the music to a sequencer).