Perfecto Diego! Tu siempre con tu faceta de profesor haces que los demas aprendamos de manera amena. La verdad te felicito!
Bueno, creo que todos por aqui sabeis que los servos me envantan! el 50% de mis post son sobre ellos

Yo resolvi una situacion similar de manera similar... en uno de los interminables post sobre servos alguien habia hablado (supongo que sera a quien le das las gracias al principio) sobre lo que tu comentas de dividir en 8 el timer para poder controlar efectivamente cada servo...
A mi me ocurria lo mismo que a ti, los muy cabr**** vibraban!! llevo un año peleandome casi dia a dia con ellos, y lo que tu comentas es la mejor solucion que encontre hasta el momento.
La unica diferencia es que hay algo me libera al timer1 de tanta tarea, algo que tambien comentaban en ese post, y es el uso del CCP1 (que por supuesto aprendi a usar en uno de tus ejemplitos

)
El codigo lo tengo de la siguiente manera: el timer 1 esta dividido en 8 partes como el tuyo, pero SIEMPRE ocurre el overflow 2,5mS despues de haber comenzado, no le cargo la duracion del pulso en alto, PERO SI le cargo al CCP (en modo compare) el valor correspondiente para que el pulso de ese servo dure lo indicado. luego la interrupcion CCP se encarga de bajar el pulso cuando correspode.
en resumen, el timer1 sube el pulso y el ccp lo baja...
no se si esta manera tiene alguna desventaja o ventaja, pero por lo visto los a los dos nos funciona todo sin problemas, con una solucion muy parecida.
Un saludo y espero que sigas instruyendonos como hasta ahora!
Gracias otr vez!