This one comes up so often.
Here's what's going on.
The deferlow in my patcher example is to ensure that the loading of the plug state happens in the low priority thread in case you are running Max in overdrive. The RH bang from the trigger object initiates the plug load, and because this code is running at low priority the vst~ object only returns after the asynchronous plug loading operation has completed. So the vst~ object returns back to the trigger object, and at that point the trigger object may fire its next bang.
Theoretically this could fail if the plug performed some kind of subsequent state processing on its loaded content, but in my experience plug vendors avoid this sort of thing. I've never seen a problem with Kontakt, for example.If you have a counter example,we're all ears, but there is not much anyone can do about a plug which continues to initialise state after it has told the host it is all done.
If you wish to determine that loading a preset into a plug follows the same rules, you could use the final bang from the trigger object to play a note.
-A