Unfortunately, zend_monitor_custom_event does not have a return value.
The second problem i have is, if i implement writeZendMonitorCustomEvent like you proposed, i will have a problem with my test. 

    protected function write(array $record)
    {
        if ($this->isZendServer()) {
            $formatter = new NormalizerFormatter();
            $record = $formatter->format($record);
            $this->writeZendMonitorCustomEvent($record['level'], $record['message'], $record['formatted']);
        }
    }

Monolog\TestCase::getRecord() does not provide 'formatted'. Formatted does have a date in its string. My test would look like this:

$record = $this->getRecord();
$zendMonitor->expects($this->once())
            ->method('writeZendMonitorCustomEvent')
            ->with($record['level'], $record['message'], $record['formatted']);

I would have to set $record['formatted'] but the test could fail.