Using a custom drag cursor ( Screen.Cursors index -12 )

Hi all. I have drawn a custom drag cursor which I have saved into the
resource file of my application. I thought that the following code was all I
needed to use this cursor as the drag cursor throughout my entire app:

procedure TfrmMain.FormCreate(Sender: TObject);
  Screen.Cursors[ -12 ] := LoadCursor( HInstance, 'DRAGCUR' );

However it doesn't work. The cursor is named DRAGCUR, and definitely exists
in the resource. I have retained the compiler directive { $R *.res } or
whatever it is.

This procedure is in the main form, but the custom cursor is only to be used
in another form, which is a kind of modal dialog called from the main form.
What's wrong here? Thanks a lot,

C. MacLaurin