I would like you to take a look at the spec[3], and give some feedback :-).
While ago I tried to start the same discussion, and researching some stuff, I figured out how cursor themes works: Check the
libXcursor.c implementation[0]
That would help you to fill the path for cursors, just check the first function. At the same time, I think that a proper standard, should change this behaviour. Cursors are not icons, cursors are cursors, thus, they should be stored elsewhere.
On the other hand, I wonder if better solutions other than hardcoding the paths in the .c could be achieved. Keith? Any comments on this?