If I understand your problem correctly you want to create a symbol without leaving your current design session?
I can't think of a non-script way to do that but I get around the problem with a series of tricks to save my current design, open the symbol editor, create my symbol and re-open the original design:
draName = "myDra"
currentDesign = axlCurrentDesign()
state = axlSaveEnable()
tempDesignName = "temp.brd"
axlSaveDesign(?design tempDesignName, ?mode "nocheck", ?noMru t)
AFn_OpenDesign(?design strcat(draName, ".dra"), ?mode "wf", ?noMru t, ?noConfirm t, ?forceNew t)
AFn_OpenDesign(?design tempDesignName, ?mode "wf", ?noMru t, ?noConfirm t)
defun( AFn_OpenDesign (@key design, (mode "w"), noMru, noConfirm, forceNew)
when(noConfirm, noconfirmStatus = axlGetVariable("NOCONFIRM"), axlSetVariable("NOCONFIRM", t))
when(forceNew && isFile(design), deleteFile(design))
result = if(noMru && axlVersion('version) >= 16.0
then axlOpenDesign(?design design, ?mode mode, ?noMru t)
else axlOpenDesign(?design design, ?mode mode)
when(noConfirm, if(noconfirmStatus then axlSetVariable("NOCONFIRM", t) else axlUnsetVariable("NOCONFIRM")))