Hey Rob,
From my experience, no actions implemented prior to an error event are executed. What I'd do with your current implementation is move your "Show Message" action to the microflow above this one in the custom error handling of where you call this sub microflow.
But again, make sure to not end in an error on the custom error handling and rather end with a standard end point. That should result in you catching the error from the sub flow and then displaying the message as desired.
It's weird that it wasn't popping up for you when you had it ending in just a regular end point as well. You may want to ensure that you've saved your changes and are executing the most up-to-date version of the code locally.
Hope this helps!