Solved it!
I was registering touches on a previous layer, but the layer wasn't being dealloced because you have to "un-register" with the onExit
method.
Long story short: touchesBegan
was not being called on my GameLayer because it was being swallowed by another layer.