Welcome to AUGI & congrats on your 1st post.
There's no way of placing a basepoint parameter inside the block using Lisp / ActiveX / VBA ... probably only possible with ARX / .NET. However the ActiveX block object has an Origin property which can be changed:
Code:
(setq blkcol (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object)))) ;Get blocks collection
(setq blk (vla-Item blkcol "blockname")) ;Get the block's definition object
(setq pt (vlax-make-safearray vlax-vbDouble '(0 . 2))) ;Create a safearray to hold the 3D point
(setq pt (vlax-safearray-fill pt '(1000.0 1000.0 0.0))) ;Fill it with the new XYZ values
(vla-put-Origin blk pt) ;Change the blockdef's origin property to the new point
BUT!!! This does nothing until you open & close the block in BEDIT. Now you need to entupd each block reference (INSERT) to match the new definition.
BTW, why not simply BEDIT the block and place a basepoint parameter? Then you can WBLOCK it out and insert browse to other drawings so you can update those definitions as well?