Choice of the appopriate conditional statement
This isn't directly answering your questions, but addresses the higher level problem of measuring the width of a pulse using a typical PIC 16.

First, there is no point in starting and stopping a counter.  All you need to do is take a snapshot of the counter each edge, then do a integer subtract of the new value minus the previous value.  That will give you the elapsed counts between the two events up to the maximum counts the counter can express.  It doesn't matter whether the count value wrapped around during the interval, as long as the number of counts was within the counter's range.  The subtraction always yields the number of counts as a unsigned number.

For example, let's say you are using a 16 bit timer, such as timer 1 on a PIC 16.  The timer value is therefore always 0 to 65535.  As long as the interval you are trying to measure is 65535 ticks or less in length, a simple subtract of new minus previous will always result in the desired answer.  Let's say the interval is 100 ticks long.  Obviously this works if the previous and new counts are 1234 and 1334, 5000 and 5100, etc.

However, it still works even if the counter wrapped during the interval.  For example, consider what happens if the previous value was 65500, which is FFDCh.  Adding 100 (64h) to that yields 10040h.  However, the hardware just throws away the carry out of the last bit, so the 16 bit counter value will be 0040h (64).  So to determine the length of the inteval, you do the subtraction of 64 - 65500, or 0040h - FFDCh, or 0000000001000000b - 1111111110111100b, with only the low 16 bits of the result kept.  Work this out any way you want, and you will see the result is 100, 0064h, or 0000000001100100b.

The second point is that most of these PICs have hardware to do the capture operation you are currently doing in firmware.  Read the datasheet chapter on the CCP module again, this time paying particular attention to capture mode.  You will see that the CCP hardware grabs the free running timer 1 value at the time of a input edge.  It only does this on one edge polarity, so you still have to take the interrupt and switch to the other edge polarity to set up for the next capture event.  Or, if you have two CCP modules available, you set them to capture on opposite edges.  In either case, the timer 1 value is captured into the CCP registers for you by the hardware at the time of the edge.  All you have to do is grab it before the next edge and do the subtract to find the number of timer 1 ticks since the last capture event.  Timer 1 free runs the whole time.  Starting and stopping it would only waste cycles and possibly cause you miss events and add jitter.