script running issue...

Hi I'm having some problems with my script/s when trying to run it through another file. actually even on it's own with a single button to launch it causes the same issue. Basically it creates an IK spline with helpers using the IK Spline Control modifier and the problem si when running as a function causes the helpers to all be set to [0,0,0]. Thsi confuses me as when evaluating teh script on it's own everything works perfectly. here is the script that is the problem.. any additional pointers would be welcomed.

-------------------------------------------------------------------------------------------------------
--START Bone Creation Section with parenting
-------------------------------------------------------------------------------------------------------
 
	hipBone = BoneSys.createBone [0,125,160] [0,75,160] [-90,0,0]
	hipBone.name = "Hips"
	hipBone.width = 4.0
	hipBone.height = 4.0
	hipBone.taper = 45
	hipBone.sidefins = false
	hipBone.frontfin = true
 
	hipBoneNub = BoneSys.createBone [0,75,160] [0,71,160] [-90,0,0]
	hipBoneNub.name = "Hips_Nub"
	hipBoneNub.width = 4.0
	hipBoneNub.height = 4.0
	hipBoneNub.taper = 45
	hipBoneNub.sidefins = false
	hipBoneNub.frontfin = false
 
	spineBone1 = BoneSys.createBone [0,75,160] [0,25,160] [-90,0,0]
	spineBone1.name = "Spine01"
	spineBone1.width = 4.0
	spineBone1.height = 4.0
	spineBone1.taper = 45
	spineBone1.sidefins = false
	spineBone1.frontfin = true
 
	spineBone1Nub = BoneSys.createBone [0,25,160] [0,21,160] [-90,0,0]
	spineBone1Nub.name = "Spine01_Nub"
	spineBone1Nub.width = 4.0
	spineBone1Nub.height = 4.0
	spineBone1Nub.taper = 45
	spineBone1Nub.sidefins = false
	spineBone1Nub.frontfin = false
 
	spineBone2 = BoneSys.createBone [0,25,160] [0,-25,160] [-90,0,0]
	spineBone2.name = "Spine02"
	spineBone2.width = 4.0
	spineBone2.height = 4.0
	spineBone2.taper = 45
	spineBone2.sidefins = false
	spineBone2.frontfin = true
 
	spineBone2Nub = BoneSys.createBone [0,-25,160] [0,-29,160] [-90,0,0]
	spineBone2Nub.name = "Spine02_Nub"
	spineBone2Nub.width = 4.0
	spineBone2Nub.height = 4.0
	spineBone2Nub.taper = 45
	spineBone2Nub.sidefins = false
	spineBone2Nub.frontfin = false
 
	spineBone3 = BoneSys.createBone [0,-25,160] [0,-75,160] [-90,0,0]
	spineBone3.name = "Spine03"
	spineBone3.width = 4.0
	spineBone3.height = 4.0
	spineBone3.taper = 45
	spineBone3.sidefins = false
	spineBone3.frontfin = true
 
	spineBone3Nub = BoneSys.createBone [0,-75,160] [0,-79,160] [-90,0,0]
	spineBone3Nub.name = "Spine03_Nub"
	spineBone3Nub.width = 4.0
	spineBone3Nub.height = 4.0
	spineBone3Nub.taper = 45
	spineBone3Nub.sidefins = false
	spineBone3Nub.frontfin = false
 
	spineBone4 = BoneSys.createBone [0,-75,160] [0,-125,160] [-90,0,0]
	spineBone4.name = "Spine04"
	spineBone4.width = 4.0
	spineBone4.height = 4.0
	spineBone4.taper = 45
	spineBone4.sidefins = false
	spineBone4.frontfin = true
 
	spineBone4Nub = BoneSys.createBone [0,-125,160] [0,-129,160] [-90,0,0]
	spineBone4Nub.name = "Spine04_Nub"
	spineBone4Nub.width = 4.0
	spineBone4Nub.height = 4.0
	spineBone4Nub.taper = 45
	spineBone4Nub.sidefins = false
	spineBone4Nub.frontfin = false
 
	hipBoneNub.parent = hipBone
	spineBone1Nub.parent  = spineBone1
	spineBone2Nub.parent = spineBone2
	spineBone3Nub.parent = spineBone3
	spineBone4Nub.parent = spineBone4
 
	-------------------------------------------------------------------------------------------------------
	--END Bone Creation Section with parenting
	-------------------------------------------------------------------------------------------------------
	--START Spline drawing and Helper creation Functions and Point Helper naming.
	-------------------------------------------------------------------------------------------------------
 
	function drawLine pointA pointB pointC pointD =
 
		(
 
			ss = SplineShape pos:pointA
 
			addNewSpline ss
 
			addKnot ss 1 #smooth #curve PointA
			addKnot ss 1 #smooth #curve PointB	
			addknot ss 1 #smooth #curve PointC	
			addknot ss 1 #smooth #curve PointD	
 
			updateShape ss
 
			ss
 
		)
 
	ikSpline = drawLine [0,125,160] [0,40,160] [0,-40,160] [0,-125,160] 
	ikSpline.name = "IK_Spline"
	addmodifier ikSpline (Spline_IK_Control())
	ikSpline.Spline_IK_Control.createhelper 4
	ikSpline.Spline_IK_Control.linkTypes = 2
	arrayIKSpline = ikSpline.Spline_IK_Control.helper_list
 
	ikNodeSpline = drawLine [0,125,200] [0,40,200] [0,-40,200] [0,-125,200] 
	ikNodeSpline.name = "Upnode_Spline"
	addmodifier ikNodeSpline (Spline_IK_Control())
	ikNodeSpline.Spline_IK_Control.createhelper 4
	ikNodeSpline.Spline_IK_Control.linkTypes = 2
	arrayIKNodeSpline = ikNodeSpline.Spline_IK_Control.helper_list
 
	function createHelpers position =
 
		(
			ch1 = circle radius: 15 pos: position
			ch2 = circle radius: 15 pos: position
			ch2.rotation.x_rotation = 90
			ch3 = circle radius: 15 pos: position
			ch3.rotation.x_rotation = 90
			ch3.rotation.z_rotation = 90
 
			convertToSplineShape ch1
			convertToSplineShape ch2
			convertToSplineShape ch3
 
			addAndweld ch1 ch2 0.0
			addAndweld ch1 ch3 0.0
 
			updateshape ch1
 
			ch1
		)
 
	ctrlSpine1 = createHelpers [0,125,240] 
	ctrlSpine1.name = "Ctrl_Spine1"
	ctrlSpine2 = createHelpers [0,40,240]
	ctrlSpine2.name = "Ctrl_Spine2"
	ctrlSpine3 = createHelpers [0,-40,240]
	ctrlSpine3.name = "Ctrl_Spine3"
	ctrlSpine4 = createHelpers [0,-125,240] 
	ctrlSpine4.name = "Ctrl_Spine4"
 
	BonePos1 = point name: "node_Bone_Pos1" size: 10
	Bonepos2 = point name: "node_Bone_Pos2" size: 10
	BonePos3 = point name: "node_Bone_Pos3" size: 10
	BonePos4 = point name: "node_Bone_Pos4" size: 10
	BonePos5 = point name: "node_Bone_Pos5" size: 10
	BonePos6 = point name: "node_Bone_Pos6" size: 10
 
	arrayIKSpline[1].name = "IK_Spline_Vertex1"
	arrayIKSpline[2].name = "IK_Spline_Vertex2"
	arrayIKSpline[3].name = "IK_Spline_Vertex3"
	arrayIKSpline[4].name = "IK_Spline_Vertex4"
	arrayIKNodeSpline[1].name = "Upnode_Spline_Vertex1"
	arrayIKNodeSpline[1].parent = arrayIKSpline[1]
	arrayIKNodeSpline[2].name = "Upnode_Spline_Vertex2"
	arrayIKNodeSpline[2].parent = arrayIKSpline[2]
	arrayIKNodeSpline[3].name = "Upnode_Spline_Vertex3"
	arrayIKNodeSpline[3].parent = arrayIKSpline[3]
	arrayIKNodeSpline[4].name = "Upnode_Spline_Vertex4"
	arrayIKNodeSpline[4].parent = arrayIKSpline[4]
 
	-------------------------------------------------------------------------------------------------------
	--END Spline drawing and Helper creation Functions
	-------------------------------------------------------------------------------------------------------
	--START Position and Orientation Constraints for Spline Knots
	-------------------------------------------------------------------------------------------------------
 
 
	pc = Position_Constraint()
	arrayIKSpline[1].pos.controller = pc
	positionConstraintInterface = pc.constraints
	positionConstraintInterface.appendtarget ctrlSpine1 100
	arrayIKSpline[1].pos.controller.relative = true	
	oc = Orientation_Constraint()
	arrayIKSpline[1].rotation.controller = oc
	rotationConstraintInterface = oc.constraints
	rotationConstraintInterface.appendtarget ctrlSpine1 100
 
	pc = Position_Constraint()
	arrayIKSpline[2].pos.controller = pc
	positionConstraintInterface = pc.constraints
	positionConstraintInterface.appendtarget ctrlSpine2 100
	arrayIKSpline[2].pos.controller.relative = true 
	oc = Orientation_Constraint()
	arrayIKSpline[2].rotation.controller = oc
	rotationConstraintInterface = oc.constraints
	rotationConstraintInterface.appendtarget ctrlSpine2 100
 
	pc = Position_Constraint()
	arrayIKSpline[3].pos.controller = pc
	positionConstraintInterface = pc.constraints
	positionConstraintInterface.appendtarget ctrlSpine3 100
	arrayIKSpline[3].pos.controller.relative = true 
	oc = Orientation_Constraint()
	arrayIKSpline[3].rotation.controller = oc
	rotationConstraintInterface = oc.constraints
	rotationConstraintInterface.appendtarget ctrlSpine3 100
 
	pc = Position_Constraint()
	arrayIKSpline[4].pos.controller = pc
	positionConstraintInterface = pc.constraints
	positionConstraintInterface.appendtarget ctrlSpine4 100
	arrayIKSpline[4].pos.controller.relative = true 
	oc = Orientation_Constraint()
	arrayIKSpline[4].rotation.controller = oc
	rotationConstraintInterface = oc.constraints
	rotationConstraintInterface.appendtarget ctrlSpine4 100
 
	-------------------------------------------------------------------------------------------------------
	--END Position Constraints for Spline Knots
	-------------------------------------------------------------------------------------------------------
	--START Path Constraints for Bone position Points
	-------------------------------------------------------------------------------------------------------
 
	pathc = Path_Constraint()
	BonePos1.pos.controller = pathc
	pathc.path = ikSpline
	pathc.percent = 0
 
	pathc = Path_Constraint()
	BonePos2.pos.controller = pathc
	pathc.path = ikSpline
	pathc.percent = 20
 
	pathc = Path_Constraint()
	BonePos3.pos.controller = pathc
	pathc.path = ikSpline
	pathc.percent = 40
 
	pathc = Path_Constraint()
	BonePos4.pos.controller = pathc
	pathc.path = ikSpline
	pathc.percent = 60
 
	pathc = Path_Constraint()
	BonePos5.pos.controller = pathc
	pathc.path = ikSpline
	pathc.percent = 80
 
	pathc = Path_Constraint()
	BonePos6.pos.controller = pathc
	pathc.path = ikSpline
	pathc.percent = 100
 
	deletekeys BonePos1
	deletekeys BonePos2
	deletekeys BonePos3
	deletekeys BonePos4
	deletekeys BonePos5
	deletekeys BonePos6
 
	-------------------------------------------------------------------------------------------------------
	--END Path Constraints for Bone position Points
	-------------------------------------------------------------------------------------------------------
	--START Bone Position and Look At Constraints.
	-------------------------------------------------------------------------------------------------------
 
	pc = Position_Constraint()
	hipBone.pos.controller = pc
	positionConstraintInterface = pc.constraints
	positionConstraintInterface.appendtarget BonePos1 100
	lc = LookAT_Constraint()
	hipbone.rotation.controller = lc
	rotationconstraintInterface =  lc.constraints
	rotationconstraintInterface.appendtarget  BonePos2 100
	hipBone.rotation.controller.viewline_length_abs = off
	pc = Position_Constraint()
	hipBoneNub.pos.controller = pc
	positionConstraintInterface = pc.constraints
	positionConstraintInterface.appendtarget BonePos2 100
 
	pc = Position_Constraint()
	spineBone1.pos.controller = pc
	positionConstraintInterface = pc.constraints
	positionConstraintInterface.appendtarget BonePos2 100
	lc = LookAT_Constraint()
	spineBone1.rotation.controller = lc
	rotationconstraintInterface =  lc.constraints
	rotationconstraintInterface.appendtarget  BonePos3 100
	spineBone1.rotation.controller.viewline_length_abs = off
	pc = Position_Constraint()
	spineBone1Nub.pos.controller = pc
	positionConstraintInterface = pc.constraints
	positionConstraintInterface.appendtarget BonePos3 100
 
	pc = Position_Constraint()
	spineBone2.pos.controller = pc
	positionConstraintInterface = pc.constraints
	positionConstraintInterface.appendtarget BonePos3 100
	lc = LookAT_Constraint()
	spineBone2.rotation.controller = lc
	rotationconstraintInterface =  lc.constraints
	rotationconstraintInterface.appendtarget  BonePos4 100
	spineBone2.rotation.controller.viewline_length_abs = off
	pc = Position_Constraint()
	spineBone2Nub.pos.controller = pc
	positionConstraintInterface = pc.constraints
	positionConstraintInterface.appendtarget BonePos4 100
 
	pc = Position_Constraint()
	spineBone3.pos.controller = pc
	positionConstraintInterface = pc.constraints
	positionConstraintInterface.appendtarget BonePos4 100
	lc = LookAT_Constraint()
	spineBone3.rotation.controller = lc
	rotationconstraintInterface =  lc.constraints
	rotationconstraintInterface.appendtarget  BonePos5 100
	spineBone3.rotation.controller.viewline_length_abs = off
	pc = Position_Constraint()
	spineBone3Nub.pos.controller = pc
	positionConstraintInterface = pc.constraints
	positionConstraintInterface.appendtarget BonePos5 100
	hhh
	pc = Position_Constraint()
	spineBone4.pos.controller = pc
	positionConstraintInterface = pc.constraints
	positionConstraintInterface.appendtarget BonePos5 100
	lc = LookAT_Constraint()
	spineBone4.rotation.controller = lc
	rotationconstraintInterface =  lc.constraints
	rotationconstraintInterface.appendtarget  BonePos6 100
	spineBone4.rotation.controller.viewline_length_abs = off
	pc = Position_Constraint()
	spineBone4Nub.pos.controller = pc
	positionConstraintInterface = pc.constraints
	positionConstraintInterface.appendtarget BonePos6 100
 
	-------------------------------------------------------------------------------------------------------
	--END Bone Position and Look At Constraints.
	-------------------------------------------------------------------------------------------------------
	--START Upnode Placement, Path Constraints and Bone Setup
	-------------------------------------------------------------------------------------------------------
 
	upnodePos1 = point name: "upnode_Pos1" size: 10
	upnodepos2 = point name: "upnode_Pos2" size: 10
	upnodePos3 = point name: "upnode_Pos3" size: 10
	upnodePos4 = point name: "upnode_Pos4" size: 10
	upnodePos5 = point name: "upnode_Pos5" size: 10
 
	pathc = Path_Constraint()
	upnodePos1.pos.controller = pathc
	pathc.path = ikNodeSpline
	pathc.percent = 10
 
	pathc = Path_Constraint()
	upnodePos2.pos.controller = pathc
	pathc.path = ikNodeSpline
	pathc.percent = 30
 
	pathc = Path_Constraint()
	upnodePos3.pos.controller = pathc
	pathc.path = ikNodeSpline
	pathc.percent = 50
 
	pathc = Path_Constraint()
	upnodePos4.pos.controller = pathc
	pathc.path = ikNodeSpline
	pathc.percent = 70
 
	pathc = Path_Constraint()
	upnodePos5.pos.controller = pathc
	pathc.path = ikNodeSpline
	pathc.percent = 90
 
	deletekeys upnodePos1
	deletekeys upnodePos2
	deletekeys upnodePos3
	deletekeys upnodePos4
	deletekeys upnodePos5
 
	hipBone.rotation.controller.upnode_world = off
	hipBone.rotation.controller.pickUpNode = upnodePos1
	hipBone.rotation.controller.upnode_ctrl = 0
	hipBone.rotation.controller.StoUP_axis = 1
 
	spineBone1.rotation.controller.upnode_world = off
	spineBone1.rotation.controller.pickUpNode = upnodePos2
	spineBone1.rotation.controller.upnode_ctrl = 0
	spineBone1.rotation.controller.StoUP_axis = 1
 
	spineBone2.rotation.controller.upnode_world = off
	spineBone2.rotation.controller.pickUpNode = upnodePos3
	spineBone2.rotation.controller.upnode_ctrl = 0
	spineBone2.rotation.controller.StoUP_axis = 1
 
	spineBone3.rotation.controller.upnode_world = off
	spineBone3.rotation.controller.pickUpNode = upnodePos4
	spineBone3.rotation.controller.upnode_ctrl = 0
	spineBone3.rotation.controller.StoUP_axis = 1
 
	spineBone4.rotation.controller.upnode_world = off
	spineBone4.rotation.controller.pickUpNode = upnodePos5
	spineBone4.rotation.controller.upnode_ctrl = 0
	spineBone4.rotation.controller.StoUP_axis = 1
 
-------------------------------------------------------------------------------------------------------
--END Upnode Placement, Path Constraints and Bone Setup
-------------------------------------------------------------------------------------------------------

Thanks in advance