It is not just the Invoke method. I did some more research.
When using a Draggable UIPanel, the ONLY time I was able to get the button to render when using NGUITools.AddChild was using it in Awake, Start or the FIRST CALL of Update (first frame). I thought calling it in Update was fine but I only tried it on the first frame. If you call it in Update at any other time either by using a counter, using Invoke, or using a GetKey command to execute the command after the first frame, it will not render the button. It creates it, but will not render it until you scroll the UIPanel or adjust it in some way.
Knowing this, is there a way to create widgets dynamically on draggable UIPanels and have the widgets render without adjusting the panel?