What’s happening is that by setting the Diagram.currentCursor, you are changing the cursor. But then as soon as the mouse moves, the cursor is reset based on what GraphObject is at the mouse point.
Perhaps you want to set Diagram.defaultCursor instead. That will let individual GraphObject.cursor settings take effect as the mouse moves over those objects, but lets your chosen cursor show up otherwise.