Does
[[CCDirector sharedDirector] replaceScene:[CCTransitionScene transitionWithDuration:1.0 scene:[PauseMenu scene]]];
works? You paused director and after this replaceScene.. If it works(I'm not sure).. you changed scene, so it means your GameScene doesn't exist anymore. I would write something like this in my pauseTheGame method:
PauseMenu *pause = [PauseMenu pauseNode]; // create PauseMenu instance
[self addChild:pause z:10]; // add pause in your scene;
after this call this in your pauseMenu init method
[self performSelector:@selector(pauseCocos2d) withObject:nil afterDelay:1.0/60];
Here is pauseCocos2d:
-(void)pauseCocos2d
{
[CCDirector sharedDirector] stopAnimation];
[[CCDirector sharedDirector]pause];
}
Call this in your retryTheGame, resumeTheGame and optionsMenu
[CCDirector sharedDirector] startAnimation];
[[CCDirector sharedDirector]resume];
// add your line here