I was launching Jack by myself. I've installed Cadence to match your setup. The only thing I couldn't match is that you're using your internal sound card and I'm using a USB one.
Changing the buffer size seems to makes a difference (less cracks). But with Cadence I can see xruns if I go nuts with the mouse over the virtual keyboard. Also, I believe your buffer is way too high to do real-time. If you haven't, you should try jack_iodelay with a physical cable connection to see real latency while using that block size. Beware of impedances though.
I'm not seeing any xruns with the rest of the things I use from Ubuntu Studio. Except maybe using wine and windows synths, but that's really asking too much. For instance, with Csound's jack audio module I can use Iain's original synth and have a block size of 128 with 0 xruns. If I use Cabbage/JUCE's Jack module I have xruns with a 1024 block size. That's really bad.
If I launch Jack from a terminal I can see:
JackEngine::XRun: client = JUCEJack was not finished, state = Running
JackAudioDriver::ProcessGraphAsyncMaster: Process error
I think that means it's a JUCE thing we won't be able to sort out. It would be great if Cabbage Standalone had a way of not setting any audio driver so that you could then use Csound's -odac.
Thanks for taking the time to try out the synth for me!