Hola manwenwe, respecto a tu pregunta de si las variables se incializan por defecto a 0, normalmente si tu no le dices que se inicialize a 0, contendra el valor aleatorio que haya en la dirección de ram que ocupa tu variable, ahora si la inicializas en el código esta tendra el valor que le hayas puesto.
Con respecto al lo de mi programador, te comento que he diseñado tanto el hardware como el software de PC. El hardware esta basado en el GTP-USB+ de Sisco, con algunas modificaciones, aunque tengo pensado para la version 2.0 del hardware hacerlo con el 18F4550, para disponer de más lineas de datos, con vista a que pueda soportar más dispositivos a parte de los de microchip.
El diseño de mi programador esta hecho de forma que pic del programador reciba del software del PC, los comandos necesarios para hacer la programación del dispositivo a programar, es decir, lo unico que hace es recibir los comandos de pc y serializarlos correctamente para enviarselos al dispositivo que vamos a programar. Con esto lo que pretendo conseguir es que el programador sea lo mas rapido posible y que permita con el mismo firmware programar muchos dispositivos, ya que del trabajo "pesado" se encarga el software de pc (Por ejemplo el ICD2 de microchip cada vez que cambias de dispositivo tiene que meterle un firmware que entienda la programación de ese dispositivo y esto la verdad no me gusta pq se pierde bastante tiempo, sobre todo cuando tienes que estar programando todo el dia distintos micros).
Respecto al tema de si puede influir que te falle la verificación por tener el programador montado en una placa perforada, pues la verdad no se que decirte, pero no creo que para las señales que se manejan sea muy critico el que este unido con cablecitos, pero podria ser una de las causas.
En cuanto a la rutina que usas para la lectura, en principio la veo bien, pero yo no lo haria asi tal cual lo has puesto, usaria un bucle for para leer los 14bits (ahorrarias algo de código), pero vamos solamente es una sugerencia. De todas formas no tengo mucha experiencia con la programación de la serie 16F, ya que yo empece con la programación de la serie 18F que es la que más uso. Ahora que ya acabe con la serie 18F (bueno tengo sorportados 60 micros de esta serie) estoy empezando con la serie 16F.
Saludos.
PD: Perdón por el ladrillo de respuesta.