Francamente, no veo claro cuál es el origen del error, aunque intuyo que no es culpa del 'set'. Prueba a hacer las siguientes cosas:
1.- Intenta reproducir el error con un elemento ('resultado') que no esté en ningún container. Esto eliminaría la posibiliad de que fuera culpa del 'set'.
2.- Según veo, el parámetro que le pasas a 'insertDoc', 'itarboldoc', es de tipo 'set<documento, less<documento> >::iterator'. Y, en el prototipo del método que aparece en el mensaje de error, se supone que debería ser '_Rb_tree_iterator<documento,const documento &,const documento *>'. Comprueba ésto. (no sé si eso es equivalente a un iterador de un 'set', ya que no estoy acostumbrado a ver la implementación del STL en Dev-Cpp, y no había usado nunca 'set').
3.- Crea una versión lo más reducida posible de tu programa, aunque no haga nada funcional, que reproduzca el problema, de manera que la parte en donde falla sea lo más parecida posible al original. El objetivo sería ver por qué está fallando sobre una cantidad muy pequeña de código, que hará más fácil corregirlo. Si lo haces, ponlo aqui para que pueda estudiarlo y ver si saco el origen del problema.
Espero que ésto te sirva de ayuda.
Un saludo.
Ruben3d