Because the variables exist inside the movie clips, you have to target them on the movie clips. The problem that you were having with your original script was that you were targeting variables on the main time line that don't affect anything inside your movieclips. Your second script is more correct. An alternative solution to get what you want is inside each movieclip have a script like so
Code:
onClipEvent(enterFrame) {
myvar = _root.myvar;
}
This will pull the variables off the _root timeline and subsititute those variables into your movie clips.