goJS diagram eating mouse up event

Actually, yes, I suppose you could be more specific and just stop the focusing on mouseUp. Perhaps do this instead:

    var mouseOnDiagram = false;
    myDiagram.toolManager.doMouseDown = function () {
        go.ToolManager.prototype.doMouseDown.call(this);
        mouseOnDiagram = true;
    };

    myDiagram.toolManager.doMouseUp = function () {
        go.ToolManager.prototype.doMouseUp.call(this);
        mouseOnDiagram = false;
    };

    myDiagram.doFocus = function() {
      if (mouseOnDiagram) this.focus();
    };