craig, a couple things, some of which has already been covered I think but figure if I put everything in one place it would help.
1. The reason the block can't be purged is because it has been inserted on layer 0, twice. When you use the LAYDEL command to rid the drawing of defpoints layer it just makes it so you can't see those inserts since there is no longer any object on that layer. So the work process is doing exactly what you tell it, but it's not what you intended.
2. As others suggested, using
-insert
done=
y
will redefine the block to match that of the original done.dwg, providing the done.dwg is in the support path. This WILL bring back the defpoints layer and the block will again be visible. (I just tested this in acad2009, I don't think LT does this any differently.) If the DONE.DWG is NOT in the default support search path, providing the actual path to it on the right of the equals sign will do the same thing.
3. Leaving the checkmark inside the block, afaik, on the defpoints layer isn't going to hurt anything. Although I would change it to my own noplot layer. What is failing you is that the INSERT is done on layer 0. You need the INSERT of the DONE block to be made to a layer of it's own that can be deleted and purged....such as a DONE layer. Then you can use the LAYDEL command on the DONE layer and be done
.
4. None of that is going to help any past projects, as I can't think of a way to select just the blocks named DONE in the drawing without using either QSELECT, FILTER, or a lisp program....none of which are available to you in an automated script. But it should help you going forward.
edit: fixed some typo's