Sounds like a binding issue of your dynamic action.
Also can you reproduce your issue on apex.oracle.com?
Thanks for the quick reply. My DA's do PL/SQL processing but this simple example illustrates the issue:
There is a DA which alerts on change of the first field, and an alert on click of the Save button. If you change the value of the first field, then click Save, you only get the on change alert, not the alert from the Save button.
Update: if I change the DA on the button to 'Mouse Button Press' it fires, then the onChange DA fires on the field, so I have utilised that and made the screen work, but if anyone has other ideas I'd be glad to hear them, particularly whether there is a better answer via an 'On Click' of the Save button.