Well, the only difference between the two examples was the additional Library code added by the LCDOUT command.

LCDOUT comes before PAUSE in the .lib file, so when included ... it pushes PAUSE up to a higher address. And since the LCDOUT command was never executed, a memory overwrite wouldn't be noticed, but PAUSE would work now.

If the first example had tried to execute the LCDOUT statement, it probably wouldn't have worked (right) either.