Tiago o erro é gerado logo na chamada do setRelation ou somente quando você realmente utiliza o modelo? Poderia por favor colocar o seu exemplo completo?
Com o seu fonte, consegui reproduzir o problema em meu ambiente.
O erro ocorre pelo fato do campo C7_NUM não constar no modelo. Já o fato do campo C7_NUM não constar no modelo, se dá por conta do campo C7_NUM "não ser usado" (SX3), somente campos usados fazem parte do modelo de dados. Pelo que verifiquei no Configurador, está bloqueada a alteração de uso desse campo.
Acredito que existam algumas opções:
Entrar em contato com a TOTVS, equipe responsável pelo alias SC7 e entender porque esse campo não está com as flags de usado e porque não é possível alterar o mesmo.
Alterar o modelo e adicionar esse campo manualmente, fiz esse teste a rotina passou a funcionar perfeitamente, exemplo:
//Isso deve ser feito no ModelDef, após obter a estrutura da SC7 via função FWFormStruct
If SC7->(FieldPos("C7_NUM")) > 0 .And. !oStFilho:HasField("C7_NUM")
oStFilho:AddField("", "", "C7_NUM", "C", Len(SC7->C7_NUM))
EndIf
Obs.: Acho importante compreender junto a TOTVS quais as regras desse campo e talvez, como paliativo, manter o código acima que adiciona manualmente o campo.