Quiero ponerle un boton de pausa a mi juego, pienso en hacerlo creando los botones al presionar la "P" y luego poner room_speeden 0.
Mi pregunta es, al presionar de nuevo "P" cuando room_speed es 0, va a volver a ejecutar el evento?

No lo va a ejecutar. Debes encontrar otro método. El más común es tomar una "captura" del juego y dibujarla en una surface, otro método que utilizo es crear la variable global.pausa, si pausa es true, algunas instancias saltan su evento Step y así no se mueven ni actualizan su estado.