1. Create an icon of any size.
2. Create an icon state, leave it blank.
3. Set client.mouse_pointer_icon to that icon.
client/mouse_pointer_icon = 'cursor.dmi'
Bug: instead of the mouse being completely invisible, the mouse is a solid, non-transparent rectangle with the same color as the mask in the editor.
Since: I have a feeling this bug has been around since the change to support larger cursor icons.
Workaround: Add to the icon at least a single non-mask pixel with Alpha > 0. It doesn't matter where. For example, alpha = 1 is pretty invisible already.