If I take any a4j:commandButton and set ajaxSingle="true" the button does an ajax submit but the action and/or actionListener never get invoked. If I set ajaxSingle="false" it works fine.
Does the a4j:commandButton support ajaxSingle="true"?
do you have immediate="true" ?