I try to do something similar that you want to do.
But I have 2 problems.
The first is:
mGameControls -> setEnabled( false );
I suppose the mGameControls is a CCLayer, but if you setEnable(false), all CCControlButtons continue to work, is necessary to setEnable(false) the specific CCControlButtons, even you have all CCControlButton added to that CCLayer, it will contiune to work unless you disable every one of them.
The other probvlem is the
CCNotificationCenter::sharedNotificationCenter() -> postNotification( "tutorialDidFinish", NULL );
I try to use CCNotificationCenter, it work, but when I try to enable or disabled anything using a method passed by a CCNotificationCenter that changes something inside the CCLayer, i got a crash in my app, I try this thing yesterday, I try many times, but I give up to use the CCNotificationCenter.
The only alternative left is to setEnable(false) ALL CCControlButton(s) and setEnable(true) all again when click on the biggest button