Slight different way of looking at this - back to OPs original problem of how to select the entities - instead of insert and explode, load the block into the drawing and grab the entities it contains from there. The block doesn't need to be inserted, that can come shortly.
This will insert the exploded block (for most simple entities, not tested fully)
The selection set MyAllSS contains all the inserted entities, so I think (command "join" .... ) will join everything together
You'll have to adjust the BlockName list.
(defun c:SSBlockEntities ( / BlockName acount MyEnts MyAllSS MySS MyEnt NewEnt)
;;Sub routines
;;https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-select-all-entities-inside-of-a-block/td-p/10284294
(defun blockcomponents ( blk / ent rtn )
(if (setq ent (tblobjname "block" blk))
(while (setq ent (entnext ent))
(setq rtn (cons ent rtn))
)
)
(reverse rtn)
)
;; End subroutines
(setq BlockName '( "CircuitBreaker" "CT")) ;; Block Names to assess
(setq MyAllSS (SSAdd)) ;; Blank Selection set - all entities, all blocks
(foreach n BlockName
(setq MySS (SSAdd)) ;; Blank Selection set
(setq acount 0) ;; A counter
(setq MyEnts (blockcomponents n)) ;; Entity list for block
(while (< acount (length MyEnts)) ;; Loop this block
(setq MyEnt (entget (nth acount MyEnts))) ;; nth entity description
(setq NewEnt (entmakex MyEnt)) ;; Make a new entity
(ssadd NewEnt MySS) ;; Add entity to selection set
(ssadd NewEnt MyAllSS) ;; Add entity to selection set - all entities, all blocks
(setq acount (+ acount 1)) ;; Increase Loop
) ; end while
;; Or do command 'Move' and 'rotate' on MySS selection set here:
(command "move" MySS "" '(0 0 0) pause "")
(command "rotate" MySS "" (getvar 'lastpoint) pause)
) ; foreach n
(princ) ; exit quietly
)