Hmm. "File ended while scanning use of ...." é basicamente o resultado de um erro de análise (parsing); há um erro no USFM (final) ou na forma como ele está sendo lido, onde algo está esperando um marcador de fim e não o recebe.
Isso não ajuda muito, então eu investiguei mais: \@nxxt é usado como parte de uma macro que captura o parâmetro para um identificador como \h ou \id, onde *qualquer* outro marcador encerra o parâmetro. (\h e \id não podem ser seguidos por USFM geral, apenas por texto sem marcação).
Minha suposição é que seu SFM final termina com \h ou \id, OU há um marcador dentro de \h ou \id que está esperando um parâmetro.
ex.: \h algo \c <FIM DO ARQUIVO>
-----------
Explicação detalhada demais:
Ao processar \h, ele lerá cada letra de "algo ", adicionando-as ao parâmetro armazenado em sequência até ler algo que não seja uma letra simples. Essa não-letra é atribuída a \@nxxt (a macro definida por \c certamente não é uma letra simples). Então, ele faria o que fosse necessário com o parâmetro "algo ", e executaria a macro memorizada \@nxxt.
\c (e, portanto, \@nxxt) espera ler um número de capítulo terminado por espaço (novas linhas contam). Se o arquivo terminar antes que esse número de capítulo e o espaço de marcação de fim sejam encontrados, você acionará o erro.
------------
Da mesma forma, se a primeira coisa após \h / \id não for um estilo de parágrafo, mas sim um \k, e não houver \k* para marcar o fim da palavra-chave, você acabará com o mesmo erro. Existem algumas situações ainda mais estranhas, mas espero que isso seja suficiente como pontapé inicial.
Você precisa fazer uma leitura cuidadosa do SFM final (veja a aba visualizar/editar) para o glossário, compará-lo com o glossário original e descobrir onde está o problema.