I'm also having a problem with setting my cursor image and I thought I'd post here to save a thread.
I have overriden Ctrl::CursorImage to return my own custom image (loaded from a .GIF) and it replaces the cursor. The problem is that it doesn't get drawn at the position of the cursor but some distance below it. It appears to me as if it is drawn at the bottom of where the default Image::Arrow() cursor is normally drawn.
Any ideas to fix this?
Note: fudadmin's code above no longer works (I assume it did when he posted it) as Ctrl::SetMouseCursor is now a private member of Ctrl and cannot be called directly.