I have a hard time believing that was the actual problem. In PBP (unlike, for example, C) = and == are the same thing. And you basically have the proof in your own code sine the WHILE loop works and you have only one = in that comparison.
Code:
second_pause:
While PORTA.0 = 1     ' <--- See, you don't need ==
wend
I would try changing it back and see if it really returns to a non working state.

/Henrik.