I developed a pulse reader application on a 16F84A.. worked well.
Needed the Timer1 function and compiled the code to a 16F628.
Setup the ports as follows:-
'Setup the hardware, define i/p and o/p
define osc 4
CMCON = 7 'turn comparators off
VRCON = 0
TRISB = 0 'set all PortB pins to outputs
TRISA = %00000111 'set RA0, RA1 & RA2 to input, all other outputs
I was using PortA1 for i/p and PortB4 for o/p on the 'F84A and after adding the CMCON and VRCON plugged in a 'F628 in lieu of the 'F84A.

Didn't work !!

Eventually, I found that if I reversed the i/p and o/p ports i.e PortA1 for o/p and PortB4 for i/p it worked.
TRISB = 1
TRISA = 0

My theory is that it is the Schmitt trigger on A0-A5 is causing the issue. Don't see how, as yet, as the i/p is a clean squarewave from a signal generator (am testing on the bench at the moment).

May give you a clue... and maybe someone has more info on this ?