Skipping lines of code?!

[SIZE=2]im having a problem that seems to me that its skipping lines of action script

[SIZE=1]for (a=1; a<=8; a++) {
for (b=1; b<=18; b++) {[/SIZE][/SIZE][SIZE=2][SIZE=1]
var A:String = let(a);
[/SIZE][/SIZE][SIZE=2][SIZE=1]var B:String = b.toString();
[/SIZE][/SIZE][SIZE=2][SIZE=1]if (HEX.prox2.hitTest(this[A+B+"_mc"]) && HEX._name != A+B+"_mc") {
[/SIZE][/SIZE][SIZE=2][SIZE=1]if (this[+A+B+"_mc"].clr == “red” && v>this[A+B+"_mc"].Value) {
[/SIZE][/SIZE][SIZE=2][SIZE=1]var holdX:Number = this[A+B+"_mc"]._x;
[/SIZE][/SIZE][SIZE=2][SIZE=1]var holdY:Number = this[A+B+"_mc"]._y;
[/SIZE][/SIZE][SIZE=2][SIZE=1]var V = this[A+B+"_mc"].Value;
[/SIZE][/SIZE][SIZE=2][SIZE=1]var d:Number = ((a-1)*18)+b;
[/SIZE][/SIZE][SIZE=2][SIZE=1]var hex:MovieClip = attachMovie(“Hex.2”, A+B+"_mc", d);
[/SIZE][/SIZE][SIZE=2][SIZE=1]hex._x = holdX;
[/SIZE][/SIZE][SIZE=2][SIZE=1]hex._y = holdY;
[/SIZE][/SIZE][SIZE=2][SIZE=1]hex.Value = V;
[/SIZE][/SIZE][SIZE=2][SIZE=1]} else if (this[A+B+"_mc"].clr == “blue”) {
[/SIZE][/SIZE][SIZE=2][SIZE=1]this[A+B+"_mc"].Value++;
[/SIZE][/SIZE][SIZE=2][SIZE=1]if (this[A+B+"_mc"].Value>20) {
[/SIZE][/SIZE][SIZE=2][SIZE=1]this[A+B+"_mc"].Value–;
[/SIZE][/SIZE][SIZE=2][SIZE=1]}
[/SIZE][/SIZE][SIZE=2][SIZE=1]}
[/SIZE][/SIZE][SIZE=2][SIZE=1]}
[/SIZE][/SIZE][SIZE=2][SIZE=1]}
}[/SIZE][/SIZE]
[SIZE=2][SIZE=1]
[SIZE=2](attachment .fla)
but when this is run, it wouldnt go into some of those if statements. So i debugged it to see what happened. and at some points, it just wouldnt go into the statement even though its conditions were true.
any ideas what im doing wrong?
[/SIZE][/SIZE][/SIZE]