Isn’t call to juce_setCurrentExecutableFileNameFromBundleId() missed in juce_VstWrapper?
In the AU wrapper it is called just before createPluginFilter() but it doesn’t appear in VST wrapper (I mean about Mac native code of course)
I remember that when I need to know File::getSpecialLocation(File::currentApplicationFile) in my AudioProcessor class constructor I had to call juce_setCurrentExecutableFileNameFromBundleId() myself earlier.