Yo empezaría por comprobar que todas las funciones de lectura/grabación del fichero XML, antes y después de firmar, tengan asignada la codificación UTF8 (por ejemplo SaveToFile(..., TEncoding::UTF8), ya que de no especificarla el fichero podría grabarse en ANSI (TEncoding:

efault).
A ver si te sirve de ayuda.