Drag n drop breaks when published

First post here:

I am working on revising an e-learning app that was created by someone else. There is a drag and drop activity that works fine in the original .swf file. When I open the original .fla file and then publish it (without making any changes yet) the .swf breaks meaning it no longer functions as it should. When the draggable object is dragged to an incorrect location it no longers pops back into it’s original position as it should.

I do not know why this is happening since I haven’t touched the code. The only thing I can think of is that it may have been created in an earlier version of Flash and by publishing it in Flash 8 it breaks the code. Any ideas would be extremely appreciated.

Here is the code I am working with:
stop();
theDragger = “imcOption1”;
arrOfPosition = new Array(imcPosition1, imcPosition2, imcPosition3, imcPosition4);
correctAns = “imcPosition4”;
submitButton = “imcSubmit”;
eval(submitButton).gotoAndStop(2);
function startDragme(mcDragger) {
startDrag(mcDragger, false, 100, 200, 700, 450);
this.draggerRef = mcDragger;
initPositionX = mcDragger._x;
initPositionY = mcDragger._y;
}
function stopDragme() {
stopDrag();
for (var i = 0; i<arrOfPosition.length; i++) {
if (this.draggerRef.hitTest(arrOfPosition*)) {
dropRef = arrOfPosition*;
trace(“the dropper is “+dropRef);
this.draggerRef._x = dropRef._x;
this.draggerRef._y = dropRef._y;
eval(submitButton).gotoAndStop(1);
validation();
break;
} else if (i == arrOfPosition.length-1) {
trace(“elseif”);
this.draggerRef._x = initPositionX;
this.draggerRef._y = initPositionY;
}
}
}
function validation() {
this.draggerRef.stamp_btn._visible = false;
if (eval(this.dropRef) == imcPosition4) {
trace(”>>>>>>”+this.draggerRef);
imcPop.gotoAndStop(5);
this.draggerRef.gotoAndStop(“Incorrect”);
} else if (eval(this.dropRef) == imcPosition3) {
trace(">>>>>>"+this.draggerRef);
imcPop.gotoAndPlay(4);
this.draggerRef.gotoAndPlay(“Incorrect”);
} else if (eval(this.dropRef) == imcPosition2) {
trace(">>>>>>"+this.draggerRef);
imcPop.gotoAndPlay(3);
_parent.objNav.setButtonState(“next”,true);
this.draggerRef.gotoAndStop(“Correct”);
} else if (eval(this.dropRef) == imcPosition1) {
trace(">>>>>>"+this.draggerRef);
imcPop.gotoAndPlay(2);
this.draggerRef.gotoAndStop(“Incorrect”);
}

Thanks!