Rosa,
A função EXECSQL serve para executar a sentença SQL, mas para retornar algum resultado deve ser usada em conjunto com a função RESULTSQL, por isso deu a mensagem que a consulta não foi aberta.
Acho que a função NDEPCORRENTE eliminaria a necessidade da sentença SQL, mas de toda forma verifique o comando SQL, talvez devesse ficar assim:
EXECSQL ('NumDepend');
DECL NUMDEP, VALOR, PR1, PR5;
SETVAR(NUMDEP,0);
SETVAR(VALOR,0);
SETVAR(PR1,1);
SETVAR(PR5,5);
SETVAR(NUMDEP, RESULTSQL ('NumDepend' , 'NRODEPEND'));
SE TABCOMPL ('TIPOPLANO' , 'S') = 'UNI1' E INCDEP (RESULTSQL('NumDepend', 'NRODEPEND'),PR1) = 1
ENTAO
F('0008');
SALVAVALDEP (NUMDEP, F('0008'));
SETVAR(VALOR, VALOR+F('0008'))
SENAO
SE TABCOMPL ('TIPOPLANO' , 'S') = 'UNI2' E INCDEP (RESULTSQL('NumDepend', 'NRODEPEND'),PR5) = 1
ENTAO
FOR('FAIXA_D1');
SALVAVALDEP (NUMDEP, VALOR+ FOR('FAIXA_D1'));
SETVAR(VALOR, VALOR+ FOR('FAIXA_D1'))
FIMSE
FIMSE
ATE
PROXREGSQL ('NumDepend') = FALSO;
VALOR
SENAO 0
FIMSE