In the object model, even the layouts are simply blocks. So even a "normal" insertion in Model Space is a nested block, by definition.
I loop thru all the Blocks in the Blocks collection, looping thru each Object in the Block itself, looking for BlockReferences (which are inserts). If I find a BlockReference, I check its Name, and if there is a match, I delete it.
A Regen updates the drawing visibly.
Here is the code for others that might have missed the post Ursus was referring to.
;;; Written by: R. Robert Bell
(defun rrbI

ieBlockDie (BlkN / Doc)
(vl-Load-Com)
(setq BlkN (strcase BlkN)
Doc (vla-Get-ActiveDocument (vlax-Get-Acad-Object)))
(vlax-For Block (vla-Get-Blocks Doc)
(vlax-For Object Block
(if (and
(= (vla-Get-ObjectName Object) "AcDbBlockReference")
(= (strcase (vla-Get-Name Object)) BlkN))
(vla-Delete Object))))
(vla-Regen Doc acAllViewports)
(princ))
Usage: (rrbI

ieBlockDie "StupidBlock")