Hi Neil, I'm just away for a week at the moment so I can't easily provide/check a step by step for this but if you're still struggling I'll do so when I get back.
However the best approach would be to create a virtual device like a relay or light in Cortex and xAP enable it so it is turned on and off by the xAPFlash button (you can either set the button up to just send the 'on' or 'off' or you could send a 'toggle' which is the default although probably not as wanted here). Make sure this works exactly as intended. Now within Cortex take the output connection from the relay or lamp and use it to trigger the macro. If you are using on/off rather than toggle then you will need to reset the trigger state , either with some timed pulse action or I would think that within the macro itself is ideal. This will then ensure that the button on xAPFlash indicates a momentary 'on' state as the macro is run. This will provide good visual feedback to the user and is a guarantee it was performed.
(You don't actually have to go via a virtual device - you could just receive/recognise an appropriate xAP message in Cortex and use the xAP message connection output to trigger the macro but then there will be no visual indicator within Cortex and also the button on xAPFlash will not show the state change)