Unless something has changed, I have discovered in the past that this does not prevent the automatic purging of unreferenced anonymous blocks.
Can you confirm this?
I'm pretty sure that unreferenced anonymous blocks are handled in the same way as erased objects. They're not purged in the same way that other objects are (for example, by the purge command). They are simply ignored when the database is subsequently opened, and hence, are not saved with it.
I'm also assuming that the OP wants to prevent the user from purging items, verses AutoCAD removing them because they're not referenced.