Una tarea programada corre como SYSTEM, un servicio también. El problema de correr como SYSTEM es que el interface gráfico está en otro escritorio que no corresponde con ningún usuario y no es accesible. En algún caso si lo es, como cuando desbloqueamos una sesión o al identificarnos al inicio de ésta. Posiblemente el programa tenga algún otro problema al ser system, además de éste. Para resolver el problema descrito, desarrollé un sistema que permite lanzar una aplicación GUI desde un servicio a nombre del usuario que tenga abierta la sesión activa (que se ejecuta como SYSTEM), no se si puede solucionar tu problema pero puedes intentarlo. Aquí tienes el enlace:
Lanzar una aplicación GUI desde un servicio.
Saludos.