Man kann den Warte-Cursor per Skript ändern
game.WaitCursor = Cursors["Name_des_Cursors"]
Der Haken ist nur, dass das nicht im Savegame gespeichert wird, bzw. unvollständig, wie mir scheint.
D.h. du müsstest in der Szene, in der der Cursor gewechselt werden soll, eine Aktion am Anfang der Kulisse einfügen mit einem "execute script" Aktionsteil (sorry, weiß gerade nicht, wie die deutsche Bezeichnung ist) mit einer Zeile, in der der Cursor umgestellt wird (s.o.). Aber beim Laden eines Spielstandes klappt die Umstellung trotzdem nicht, weil scheinbar eine Teilinfo gespeichert wird, und die Engine denkt, es sei umgestellt, obwohl der alte Warte-Cursor noch zu sehen ist. Das kann man umgehen, indem man zuerst den alten Warte-Curser setzt und gleich darauf den neuen:
Execute script
game.WaitCursor = Cursors["Name_alter_Warte-Cursor"]
game.WaitCursor = Cursors["Name_neuer_Warte_Cursor"]
und dann zum Zurückschalten am Ende der Kulisse wieder ein execute script mit den beiden Zeilen, aber diesmal natürlich in umgekehrter Reihenfolge.
Bei Lua muss man übrigens auf Groß- und Kleinschreibung achten. Also die Namen genauso eingeben, wie sie auch im Editor stehen.