La verdad, si hay algo que me fastidia es que la gente no lea. En mi pregunta en los foros de Apple, claramente indiqué lo que ya había hecho para que la gente no me respondiera precisamente con lo que es la obligada y obvia primer respuesta. Per no, me responden precisamente con ella 🙄.

Aunque la causa raíz del problema permanece aún en misterio (saber porqué ese error se reporta y la solución obvia no funciona), pude resolver mi problema (evitar el mensaje de error y que el script dejara de funcionar) y además mejorar el resultado que el script busca.
En lugar de «sólo hacer click» para mantener la aplicación activa (y al parecer esto es lo que genera el problema), ahora estoy enviando a la aplicación un mensaje que simula una secuencia de teclas. Lo que trae beneficios adicionales.
El script ahora luce así:
set appName to "Citrix Viewer"
repeat while application appName is running
tell application appName to activate
tell application "System Events"
keystroke tab using option down
end tell
delay 300
end repeat
Como puede verse, envío ahora un CTRL+TAB que hace que se conmute la aplicación con la siguiente en la lista de tareas activas. La versión anterior sólo hacía click en la esquina superior izquierda de la ventana de la aplicación Citrix Viewer, lo que podía o no hacer que el entorno virtualizado «se diera por enterado» de que el usuario estaba activo. Ahora, se intercambia entre aplicaciones, lo que definitivamente debe darle mejores indicios a la aplicación de que hay un usuario activo.