As I mentioned in the OP, it works fine when I do it manually... but I need to disable/enable the panel and all its children whenever it fades out/in, and SetActiveRecursively() is giving me weird issues or not working at all, and apparently NGUITools.SetActive() doesn't exist in the free version, unless I'm missing something.
Either way, if doing it by hand works, it'd be nice if you could make the TweenColor work, too (on the panel and all child widgets); not sure why it doesn't. I really like how intuitive using the built-in tweens is.