Hallo,
test = setTimeout('movelayer('+objectID+','+end_XPos+','+end_YPos+')',scr_speed);
alert(test); //warum gibt test hier riesige zahlen aus??
Du hast Dich einfach mit den Hochkommata verdaddelt - damit wird das meiste zum String und ansonsten wird end_XPos + end_YPos + scr_Speed aufaddiert. So wie ich das sehe sollte das eher test = setTimeout(movelayer(objectID,end_XPos,end_YPos,scr_speed)); heißen.
Grüße,
Utz