Check the javadoc for no_polling - it is specifically referring to the notion of a time based poll. The plan continuing to process because of other source events is not considered a polling event. You'd have to use a DataNotAvailableException with the strict flag set to true to prevent the source from being asked entirely.
Ah, of course. For some reason, setStrict had slipped my mind. Thanks