Are you sure using a delayedCall of 0 actually fires immediately, and doesn't wait until the next frame or the very end of the frame pass to fire? Not that familiar with what TweenMax does under the hood, but it should be fairly quick to confirm:
trace("Before Delayed Call");
TweenMax.delayedCall(0, fillPanel1); //put a trace call within fillPanel1, to see if it traces here
trace("After Delayed Call");
If you add a trace within fillPanel1() and see it sandwiched between those other two traces, at least you'd know for certain whether a delayedCall of 0 is actually happening immediately and the same as just calling the function, or if it's actually delayed.