Si no usas un try .. finally, cabe la posibilidad de que haya una excepción, y en ese caso el usuario se queda con el cursor crHourGlass; si el usuario es hábil, podrá seguir haciendo clics de ratón con ese cursor, pero lamentablemente, hay usuarios que se quedan esperando a que el cursor vuelva a su estado de crDefault, crHandPoint, etc... y ya pueden esperar sentados
Se guarda el estado de Tcursor, porque a priori, no sabemos cual va a tener; recordemos que el programador es libre de poner un cursor diferente por cada control, e incluso para el mismo control, un cursor distinto según el momento.
Un saludo y espero, así como el que no quiere la cosa, te sirvan estas lienas
.