Here’s a hint at what this problem might be. This discussion requires that the plugin is VST3 and is created using JUCE tool set. My understanding is that VSL uses JUCE. If that is no longer true, then please disregard this post. The VST3 assumption applies to VE Pro or individual plugins. Using the VST2 version of VE Pro or the individual plugin instead of the VST3 version will eliminate the problem I am describing.
My mental model of the problem is that there is a protocol mismatch in the interface between the host (e.g., Cubase, Dorico, etc.) and the plugin (e.g., VST3 version of VE Pro, Synchron Player, VI Pro, Pianoteq etc.). The host assumes a single-stream serial MIDI protocol, and the plugin assumes a multi-stream timestamped MIDI protocol. If two or more MIDI events occur with the same timestamp then (depending on what those events are) they might get reordered in the plugin. I’ve seen this issue using Dorico and Pianoteq and using Dorico and VE Pro.
In one example, an All Notes Off event occurred at the same timestamp as a Note On event. They were ordered serially from the host as All Notes Off followed by the Note On. But the plugin reordered these as Note On, followed by All Notes Off. So notes were cut short. This sounds exactly like what is occurring for some users in this thread.
In another example, before Dorico introduced the notion of negative time in its MIDI stream, a condition occurred if you specified an articulation different from the default on the first note of a score and the plugin was using the VST3 version of VE Pro. In this case, a Key-switch Articulation event occurred at the same timestamp as the Note On event. Sometimes the correct articulation was respected. But not always. In every case, the subsequent notes respected the articulation event. So the plugin was causing those events to be re-ordered some of the time. It was repeatable that it occurred, but not repeatable every time. So it was as if a race condition determined which event happened first. Once negative time was introduced then the articulation events moved forward enough in time to ensure the correct ordering.
Both examples above did not fail in a consistent way. They only failed some of the time, but often enough to be noticeable.
I am sure there are other examples where the ordering can cause issues. Particularly because the Synchron Player requires events to be in the correct order for articulation selection in the tree structure. So if your tree structure is using key-switches for some branch and CCs for another, for example, then I suspect this will cause issues. I don’t currently use this plugin for anything, so I haven’t experienced this first hand, but suspect this is possibly a problem.