What's wrong with using the plan old INSERt command?
From the Help file on INSERT command
Updating a Block Path: If you enter a block name without a path name, AutoCAD
first searches the current drawing data for an existing block definition by that
name. If no such block definition exists in the current drawing, AutoCAD
searches the library path for a file of the same name. If AutoCAD finds such a
file, it uses the file name for the block name upon insertion of the block
definition. AutoCAD uses the same block definition for subsequent insertions of
that block. You can replace an existing block definition with an external file
by entering the following at the Enter Block Name prompt:
block name=file name
You can simply use the command line version of the INSERT command like this:
(command "-INSERT" "YourBlockName=YourBlockName")
(command)
Your block name must be in the path else use this:
(command "-INSERT" (strcat "YourBlockName=" path "YourBlockName") )
(command)
The (command) aborts the INSERT but not before the block definition has been updates.
You can process a list of block names like this:
(foreach name '("b1" "b2" "b3")
(command "-INSERT" (strcat name "=" name)
(command)
)
You can add this to a script. The problem comes when the block is not found.
An error occurs and your script is stopped.