Antonio
Sustituyendo los _retclen por _retc( _parc( 1 ) ) como me sugeriste, va bien, se quitan los accentos, pero no hace ni el UPPER ni el ALLTRIM.
He intentado _retc( ctext ) y no reindexa, da el mismo error, aunque la función funciona, por ejemplo en un msgalert()
Es un buen comienzo.