auto paramID = isBypassParameter ? cDefaultMasterBypassID : juceParameters.getParamID (audioProcessor, parameterIndex) .toRawUTF8();
The String returned from getParamID() will be destroyed (when its created from a AudioProcessorParameter) immediatly, and so the char pointer!
paramID will point to a uninitialised memory then
Maybe this happens in the others wrappers too.
I recommend to always work withs Strings, and ditch char pointer whenever possible, i also recommend to do more test with all possible configurations.