If you're doing this the way I think you're doing it then I believe I've encountered a similar problem before.
The solution for me was to have the pause/unpause key toggle the boolean global variable instead of setting it to 1 and 0 because what happens is Construct will run through the events and the last even to be executed will have the final input on what the global variable will be.
Here's the solution:
On "p" pressed: toggle boolean global variable
subevent: boolean global variable = 1: pause
subevent: boolean global variable = 0: unpause