I don't know if it makes sense to modify report() in this way.  The callers to report() expect to get called back on the options.onComplete function.  The maze app going into a state called waitingForReport while it expects this callback.  This method will effectively leave the blockly instance stuck waiting.

Any reason not to just have blockly aware that it is in the sharing mode and modify BlocklyApps.report() or its callers directly?

You've already made it aware of a variant of this mode by adding the config.hide_source check below.