Well I tried the suggestions but I still don't seem to be able to get a reliable value (always out by a good margin).

I'm wondering if it would be better to include an assembly interrupt and do the pulse measurement that way?

Still very new to this so any suggestions and code snippets welcome

Also, I may already know the answer to this, but can a PIC reliably perform a phase shift on an incoming signal and output it in realtime?
The reason for asking is say I have a 3750mS pulse (1925 high, 1825 low) coming in, I need to put a delay of 88uS on it for example and re-output it in its original form (or as close to as possible). The shortest delay I'll need to put on is about 44uS and the longest would be about 333uS.
The theory I have is that I need to have a dedicated CMOS chip fed with a signal to modulate the pulses accordingly, but I'd rather do it with a PIC if I can because not only will I need to do it once (for ignition timing) but for two injector pulses too (current ecu provides trigger and I need to send a pulse EXACTLY on time of a length in mS to each channel when needed (2 injectors per channel on my car).

Thanks again for all your help here.

Leigh