Your Header variable is a word because the values you expect are beyond 0-255 range that a byte can accept.

Keep in mind that Pulsin is clock dependant. The real clock your PIC is using, NOT the one you declare with DEFINE OSC line. At 4MHz it increment by a 10usec step. At 20MHz by a 2usec step.

How do you know that values are not within the range?

Do you have some kind of output check?

Ioannis