I'm not sure how proper my suggestion is, but you could handle the sub-state-specific stuff in the respective sub-state event handlers, but instead of having them return 0 (indicating that the event was handled), have them return the pointer to the super-state event handler. (This indicates to the QF that the event has not been [fully] handled.) Then put the common stuff in the event handler of the super state under the same event as in the sub-states.
I don't know how you would diagram this with a statechart, but with sufficient commenting (in the code and on the statechart), I think it wouldn't be too confusing to a maintainer.
This may be one of those things that isn't allowed in UML, but can be done with the Quantum Framework and is safe and has some advantages. Like a hierarchical state machine being in a composite state. Not allowed in UML, but very handy and safe to do.