Apparently iOS 6 tries to automatically handle the situation when you have a gesture recognizer and a UIButton in the same place, being activated for the same gestu
I know it seems simplistic, but have you considered setting the UIButton's userInteractionEnabled property to "NO"? That should remove it automatically from the hit testing and gesture recognition system.