Maybe you could test by removing the use of cmdactive and simple place the 'PAUSE' in the command line.
(defun c:Devices_frmDevices_cmdInsert_OnClicked ( / sSelKey sSelText rValue xValue xText grp)
(setq sSelKey (dcl_Tree_GetSelectedItem Devices_frmDevices_TreeControl))
(setq sSelText (dcl_Tree_GetItemText Devices_frmDevices_TreeControl sSelKey))
(setq rValue (dcl_Tree_GetParent Devices_frmDevices_TreeControl sSelKey))
(setq xValue (dcl_Tree_GetParent Devices_frmDevices_TreeControl rValue))
(setq xText (dcl_Tree_GetItemText Devices_frmDevices_TreeControl xValue))
(setq grp (dictsearch (namedobjdict) "AECB_DEVICE_STYLES"))
(if (setq g2 (dictsearch (cdr (assoc -1 grp)) sSelText))
(progn
(princ (strcat "\n Insert device " sSelText " (Press Enter to end command)"))
(command "-AecbDeviceAdd" "sy" "Standard" "st" sSelText "l" "o" pause)
)
(progn
(princ (strcat "\n Insert device " sSelText " (Press Enter to end command)"))
(command "-insert" (strcat "*S:\\CADDdata\\MEP_2008\\Content\\Aecb Content\\US Imperial\\Electrical\\Devices\\" xText) "0,0" "" "")
(command "-AecbDeviceAdd" "sy" "Standard" "st" sSelText "l" "o" pause)
)
)
(princ)
)
I only use napolitano autocad flavour....