El problema que tu codigo tiene 2 problemas:
1 - Deja de enviar señal al servo si es que no recibe nada desde aplicacion
2 - Si recibe muchas cosas desde la aplicacion tendrias problemas, ya que tendrias un overrrun.
Solucion y queda para que lo investigues:
1 - Usar interrupcion para la recepcion de datos
2 - Usar un timer, o CCP+timer para controlar los servos, hay ejempls en el foro de sobra, lamentablamente no tengo ninguno a mano