SOLVED!!
Ok so I figured this out. By adding a button onto another UIPanel in my scene to just open and close the panel it was able to work. What didn't was calling the open from the other script. I was using C# messenger to call the scripts function. There must have been a problem with script order as you said even though I tried rearranging both the offending scripts and the c# messenger script within the execution order.
Thanks for the suggestions you got me pointed in the right direction. Hopefully I can start growing back some of this hair i've been pulling out.
BTW: Did you look into the object duplication issue I mentioned? Its where you add say a button widget to a panel, then highlight the root object and start hitting command d to duplicate, after about the 3rd button widget a UIPanel starts getting tacked onto each subsequent button. Not sure why even though they are all off a root UIPanel. Also for some reason the objects that get duplicated are always at a scale of 1.0008 1.0008 and 1.0008 , kind of annoying not sure if there is a way to tweak that so that are always the same as the object being duplicated.