Hello David,
Your cursor is being set to the image HELP.CUR, but CVI will reset the cursor later in the UI library. To verify this, add a breakpoint on the "break" statement of your cursor button callback. You will notice that your cursor is replaced by the specified image. The correct way to use the SDK to do this is to track when the window is active (or when the mouse is in the window's client area), and then call SetCursor. Note that before doing this, the class cursor should be set to NULL, to prevent user32.dll from resetting the cursor on a mouse move. I have attached code showing how to do this with a timer callback. Alternatively, one can also track mouse moves, and set the cursor on mouse move events. Refer to the SDK
documentation on cursors, SetCursor, etc for more information.