I can't think of a reason that a CCScrollLayer should respond to touches for when not visible.
Adding this to the implementation might be a good idea.
-(BOOL) ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
if ( !visible_ ) {
return NO;
}
...
Thx!