Yes, it's a bit advanced which is why I didn't present AOP as the first option. 
In this case you would have to use AspectJ, instead of Spring's AOP proxies, either using load time weaving or compile time weaving (you would weave the aspect into the spring-webflow.jar in this case).
As for returning a proper error event that will stop the transition, you can keep it as simple as:
Code:
return new Event(advisedEvaluateAction, "no", null);
but I don't particularly like the idea of having the "no" string in there directly. A more future-proof way might be to reuse the ResultObjectBasedEventFactory that EvaluateAction uses indirectly. So in that case the code would look more like:
Code:
return new ResultObjectBasedEventFactory.createResultEvent(advisedEvaluateAction, Boolean.FALSE, requestContext);