Cancel Object plugin sounds like what you need. I used it to cancel one object and it stopped printing and went onto the next and everything worked great, the first time. Since then I've run into an issue where it extrudes a blob at the beginning of the next object each layer but that could be a setting I've changed between the first use and the next one.
It's possible that this is an extrusion audit—related bug. You might want to see if the problem goes away if you use relative extrusion in your slicer. If that works, then you could consider adding an issue in the plugin author's repository.
Relative extrusion will fix this. For reasons I don't quite understand and haven't really looked into yet, tracking absolute extrusion moves isn't working. I'll try to get it fixed in the next version.
Perhaps six months ago I was coding post-processing scripts in a stand-alone Go CLI app. I actually made some successes in the area of replaying a layer under the harsh reality of absolute extrusion but then Cura came out with relative extrusion and I haven't thought twice about the subject since.
I just stole a little helper class from the filaswitch post-processor to track all extrusion moves and retracts. Seems to be work reasonably well now.