Solução encontrada pessoal.
No array de itens, a terceira posição deve conter a expressão no formato de texto, e não booleano como coloquei na pergunta. Sendo assim, bastou colocar entre aspas:
aCabc := { {'C2_FILIAL' , xFilial("SC2") ,NIL},;
{'C2_NUM' , TSC6A->(C6_NUM) ,".T."},;
{'C2_ITEM' , TSC6A->(C6_ITEM) ,".T."},;
{'C2_SEQUEN' , "001" ,".T."},;
{'C2_PRODUTO' , alltrim(TSC6A->(C6_PRODUTO)) ,NIL},;
{'C2_PEDIDO' , TSC6A->(C6_NUM) ,NIL},;
{"C2_ITEMPV" , TSC6A->(C6_ITEM) ,NIL},;
{"C2_QUANT" , TSC6A->(C6_QTDVEN) ,NIL},;
{"C2_STATUS" , 'N' ,NIL},;
{"C2_LOCAL" , '04' ,NIL},;
{"C2_CC" , '430010017' ,NIL},;
{"C2_PRIOR" , '500' ,NIL},;
{"C2_DATPRI" , DDATABASE ,NIL},;
{"C2_DATPRF" , DDATABASE + 10 ,NIL},;
{'AUTEXPLODE' , "S" ,NIL}}
Mesmo 'não concordando' com essa validação realizada, já que manualmente o protheus inclui vários itens, dessa forma me atendeu.