A reliable way of customizing the disclosure button for NSOutlineView is to subclass NSOutlineView and override a couple key methods. First, override frameOfOutlineCellAtRow: to reposition the arrow where you want. Then, override makeViewWithIdentifier: to customize the view that actually implements the arrow. You can identify it with the identifier NSOutlineViewDisclosureButtonKey.
Achieving the goal in this way is probably both more reliable than however you were doing it before, and likely to be more consistent for technologies like accessibility screen readers.
CLICK HERE to find out more related problems solutions.