ClipIt (Express Tool) works on blocks, etc. so I got it to work manually.
 
	 
 
	I did do some light reading on automating options in a called Express Tool, so maybe at some point. This works for me, hopefully speeds things up for the OP.
 
	 
 
	Works OP  provided  .dwg and some quick blocks to test it.
 
	 
 
;;;  Creates a circular detail clip from a block reference. Copies, scales, and trims to scaled circle (connected by trimmed line).
;;;
;;; https://www.cadtutor.net/forum/topic/98334-detail-circle-in-ms/page/2/#findComment-674313
;;;
;;;*************************************************************************************************|
;;;                                                                                                 |
;;; By SLW210 (a.k.a. Steve Wilson)                                                                 |
;;;                                                                                                 |
;;; MSCirClip.lsp                                                                                   |
;;;                                                                                                 |
;;; Uses the Express Tool ClipIt manually (maybe this will be automated at a later time).           |
;;; At the prompt-Select the detail circle then select the copied and scaled block.                 |
;;; At Enter maximum allowable error distance for resolution of arc segments.                       |
;;; I used 1 and it seems good (smaller is more segments) (see Clipit in Express Tools help).       |
;;;                                                                                                 |
;;;*************************************************************************************************|
;;; ClipIt creates a pseudo circle of polylines, the connector line will most likely have a gap.    |
;;;                                                                                                 |
;;; Optionally you could comment the part erasing it.                                               |
;;;                                                                                                 |
;;;*************************************************************************************************|
;;;
(defun c:MSCIRCLIP (/	       ent	  cen	     rad
		    circle     newPt	  scaleFactor
		    newRad     vec	  dir	     pt1
		    pt2	       len	  scaledBlock
		    detailCircle	  entsBefore entsAfter
		    diffBlocks
		   )
  (vl-load-com)
  (prompt "\n--- MODELSPACE DETAIL VIEW WITH CLIPIT ---\n")
  ;; Modelspace entities
  (defun all-ents ()
    (vl-remove-if
      'null
      (mapcar 'cadr (ssnamex (ssget "_X" '((410 . "Model")))))
    )
  )
  ;; Select block reference
  (setq ent (car (entsel "\nSelect block reference to detail: ")))
  (if (not (and ent (= (cdr (assoc 0 (entget ent))) "INSERT")))
    (progn (prompt "\nNot a valid block reference.") (exit))
  )
  ;; Circle center/radius
  (setq cen (getpoint "\nSpecify center of detail circle: "))
  (setq rad (getdist cen "\nSpecify radius of detail circle: "))
  (entmakex
    (list '(0 . "CIRCLE")
	  (cons 10 cen)
	  (cons 40 rad)
	  (cons 62 1)
	  (cons 8 "DETAIL")
    )
  )
  ;; Detail location and scale
  (setq newPt (getpoint "\nSpecify center point for detail view: "))
  (initget 7)
  (setq scaleFactor (getreal "\nEnter detail scale factor (e.g. 2): "))
  (setq newRad (* rad scaleFactor))
  ;; Copy and scale block
  (command "COPY" ent "" cen newPt)
  (setq scaledBlock (entlast))
  (command "SCALE" scaledBlock "" newPt scaleFactor)
  ;; Clipping circle
  (setq	detailCircle
	 (entmakex
	   (list '(0 . "CIRCLE")
		 (cons 10 newPt)
		 (cons 40 newRad)
		 (cons 62 1)
		 (cons 8 "DETAIL")
	   )
	 )
  )
  ;; Run CLIPIT manually
  (prompt
    "\n>>> Run CLIPIT: Select the detail circle and the new (scaled) block.\n"
  )
  (C:CLIPIT)
  ;; Delete temp circle after CLIPIT
  (if (and detailCircle (entget detailCircle))
    (entdel detailCircle)
  )
  ;; Draw connector line
  (setq vec (mapcar '- newPt cen))
  (setq len (distance cen newPt))
  (setq dir (mapcar '/ vec (list len len len)))
  (setq pt1 (mapcar '+ cen (mapcar '* dir (list rad rad rad))))
  (setq	pt2 (mapcar '-
		    newPt
		    (mapcar '* dir (list newRad newRad newRad))
	    )
  )
  (entmakex
    (list '(0 . "LINE")
	  (cons 10 pt1)
	  (cons 11 pt2)
	  (cons 62 3)
	  (cons 8 "DETAIL")
    )
  )
  (prompt "\nDetail view created and connector drawn.\n")
  (princ)
)