A última vez que vi esse fonte há alguns anos ele varria a sx5 na tabela 63 com algo parecido com isso no looping:
Faz um dbseek -> SX5->(Dbseek((xFilial("SX5") + "63"))
E então roda a tabela adicionando o que encontrar em um array que será pesquisado por ascan para ver se a a data é feriado ou não.
While .not. eof() .AND. SX5->X5_FILIAL == xFilial("SX5") .AND. SX5->X5_TABELA == "63"
Pode ser que tenha mudado a rotina de lá pra cá, mas o primeiro diagnóstico que eu faria é se o xfilial("SX5") retorna a filial atual ou em branco no seu debug, se não retornar a filial atual precisa ver se sua sx5 está compartilhada ou exclusiva no nivel de filial, só funciona isso se estiver como exclusiva e aí precisa ter cópia de todas as tabelas para cada filial....
Uma opção também é fazer sua própria função datavalida considerando o sx5 para o geral e uma tabela personalizada para os feriados locais