Freeze function and offline bounce completely unreliable

I’m having consistent problems that is causing me literally days of lost time where frozen tracks from VST’s / instruments and even if I bounce them off line (they have to be bounced in real time mode) are not synchronising correction or have mismatched delay compensation. This doesn’t happen when they are played live and line up fine. It’s only when I freeze tracks or bounce offline. Freezing tracks is a feature I have always massively relied on and this is causing huge problems for my work flow and costing me a lot of money. I’m just about at the point where I’m ready to move to another DAW if I can’t find a solution.

Here’s a list of some of what I’m using - what am I missing?

  • Cubase 12 latest version.

  • M2 Pro Mac

  • SSL2+ Interface

  • I am using BlackHole in an aggregate device in MacOS Audio Midi Settings (if that matters). This is so I can funnel system audio into the Cubase mixer so I can A/B reference material when mixing and also hear it through my room or headphone calibration.

  • Vienna Ensemble Pro 7 (current version)

  • In Vienna Ensemble Pro I am running a few things but typically at the moment Ivory II Pianos, and BFD3 because they won’t load natively into Cubase in Silicon Mode.

  • Inside Cubase of course I’m running Vienna Ensemble Pro VST

  • Native Instruments (Kontakt, Battery etc)

  • Omnisphere

  • Trilian

  • RMX

  • All of these are up to date at least within the last 3 months.

With BFD3 via Vienna Ensemble Pro I bounced the audio in real time mode and in offline mode compared the two and found that I needed an 18ms delay for them to line up. So I added mixer delay to the BFD stem in Cubase and only turn it on before freezing the track which seemed to work but then it stopped working. So I don’t know what is going on there.

  • Render in place is also affected.

  • I really need to use the Freeze feature that is what works best for my workflow especially when juggling projects that have more instruments than the machine can load into memory it’s incredibly useful (particularly with the “unload from memory” option).

Any help much appreciated.