Была такая же проблема, решение было смущающе простым, но бесило. Есть еще одно свойство под названием UseWaitCursor. Если для этого параметра установлено значение true (как у меня, случайно), вы не можете изменить свойство Cursor на что-либо, кроме WaitCursor.
Если кто-то может объяснить, почему есть два отдельных свойства для установки курсора, я уверен, что мы все хотели бы услышать это.