Dear Mehmedean,
I can't explain the symptom you are describing. The dissassembly of your code looks correct in terms of reading the PACNT register.
However there a couple of things that may be leading to problems.
You appear to be clearing the PAIF flag manually as well as automatically using the FFC option. This can cause problems (or at least confuse me!)
The PACNT should be cleared immediately after reading - not before the flag clearing. I think the way your code is set up it would be possible for incomplete counts since the delay through your SCI code could be quite long and overlap the next period measurement. Essentially you would get a random value depending on the timing of when you clear the register before the end of capture time.
Alternativley just omit clearing the flag and wait for it to be set twice in the busy-wait loop. Save the PACNT value from the 1st edge and use subtraction to determine the change in count. The second measurement would be guaranteed to be complete. Better still - have an interrupt handler save the difference value in a glabal var instead.
You enable PA interrupts. What does you PA interrupt handler do anyway?
One last comment - Personally, I would use the IC hardware instead.
bye