It seems to work on MediaWiki.org. Haven't isolated the cause yet locally.
Not an actual bug. Just accidental inconsistent state from old local External Store tests, fixed now.
It does abort the whole hook (including other hooks, but without breaking standard content) if there is a MWException. That is different from how FlowException is handled (that just cancels the individual bad row), but that may be intentional. In this case, it was good since it made the exception more obvious.