Den Cursor kannst Du systemweit mittels TCursorInfo.hCursor abfragen (die Struktur übergibst Du an
GetCursorInfo). Wenn sich dieses
Handle geändert hat, dann auch der Cursor. Die Abfrage sollte permanent in einem Thread laufen und bei Änderungen kannst Du dann mittels Synchronize darauf reagieren.