I believe there is a problem with the new TouchDispatcher. In ccTouchesBegan of TouchDispatcher.m, the code loops over all of the dispatchers to see if any of them want to handle some/all of the touches. The problem is that the dispatchers always return kEventIgnored, and thus the loop never breaks. This can result in an empty touches object being sent to the remaining touch handlers. For TargetedTouchDispatchers this is not an issue as TargetedTouchHandler loops over all touches and ends up doing nothing. For StandardTouchHandlers, the call goes all the way down to my ccTouchesBegan implementation, but with an empty touches object.
I have resolved this problem by adding:
if([mutableTouches count] == 0)
break;
to the loop mentioned above.