Let's decompose your code:
WebControl1 Top = new WebControl1(); //<-- Creates a new instance of the control class
Top = (WebControl)Page.LoadControl("path to the control"); //<-- Loads the control from the source file, overwriting the previously created instance
You are creating new instance of the control, where you really need to get at the instance created by the markup that include the control. Unless the instance "Top" is the one getting added to the container (the outer user control) this code will do nothing.
Presumably in your outer control markup you have an instance of the control. You need to access that instance by the ID provided in the markup. Then you can manipulate its properties and disable the button.