It's a bit tricky to follow what you mean, but reading between the lines it sounds like everything is working
as expected. a4j:commandButton is ajax enabled, h:commandButton isn't (so it does a full form submit).
Can you post your code along with the backing bean (the scope you're using could be relevant)?
Are you using 'render' property in a4j:commandButton to refresh required component data?