Problems with mirror morphing

Hello, I'm starting to program in MaxScript and I'm making a script to automate the mirror morphing, I made it in 2 parts, 2 buttons, the first part it's ok, but the second one does not work when I press the button but when I run it directly from the script it works as it should. I need ideas, thanks for your help!

rollout Carol_MirrorMorphing "Carol Morphing V2.1" height:155 width:232
(
fn foo_filter obj = matchPattern obj.name pattern:"Base*"
fn ex_filter obj2 = matchPattern obj2.name pattern:"*"

label titulo "MIRROR MORPH v 2.1"
label titulo2 ""
pickbutton BaseMorph1 "Select BaseMorph" width:140 filter:foo_filter
pickbutton Expresion1 "Select Morph" width:140 filter:ex_filter
button crear "1st Part"
button seguir "2nd Part"
label titulo3 ""
label label1 "© ESARTE Digital | Ana Carolina Escobar | 2012 " width:232

on BaseMorph1 picked obj do
(
if obj != undefined do
(
BaseMorph1.text = obj.name
Global BM = obj
)
)

on Expresion1 picked obj2 do
(
if obj2 != undefined do
(
Expresion1.text = obj2.name
Global Exp_1 = obj2
)
)

on crear pressed do
(
if BaseMorph1.text == "Select BaseMorph" or Expresion1.text == "Select Morph" then
(
messagebox "No has seleccionado alguno de los elementos requeridos"
)
else
(
copy BM isSelected:on
b = BM.pos
$.pos = b + [90,0,0]
$.name = "basemorphcopy"
CopyPos = $.pos
deselect $

copy Exp_1 isSelected:on
$.position = $basemorphcopy.pos
$.name = "expresioncopy"
deselect $

Global MyMorpher = Morpher Autoload_of_targets:1
addmodifier $expresioncopy MyMorpher
WM3_MC_BuildFromNode MyMorpher 1 BM
WM3_MC_SetValue MyMorpher 1 100.0

/*mat = $expresioncopy.transform
mat.row1 = -mat.row1
$expresioncopy.transform = mat*/

/*select $expresioncopy
modPanel.addModToSelection (mirror ()) ui:on
maxOps.CollapseNode $expresioncopy off
deselect $*/

select $expresioncopy

messagebox "Mirror en X"
)
)

on seguir pressed do
(
MySkWrap = Skin_Wrap Autoload_of_targets:1
addmodifier $basemorphcopy MySkWrap
MySkWrap.Distance = 0.1

Lista = #($expresioncopy)
MySkWrap.meshlist = Lista

select $expresioncopy
WM3_MC_SetValue MyMorpher 1 0.0

maxOps.CollapseNode $basemorphcopy off

delete $expresioncopy

select $basemorphcopy
$.position = Exp_1.pos + [50,0,0]
$.name = "MirrorMorphExp_001"
)
)

macroScript Carol_MirrorMorphing_A
category:"MyOwnScripts"
tooltip:"Realizar Mirror Morphing de derecha a izquierda y viceversa"
(
Createdialog Carol_MirrorMorphing
)