You didn't specify if your AsyncFileUpload1_UploadedComplete event handler is inside control or page. If it inside control than to fix your problem you can try to register client script using instance of the page. Other option is to generate unique script id every partial postback.
Option 1 (register client script with page instance):
ScriptManager.RegisterClientScriptBlock(this, this.Page, "filePath", "top.$get(\"" + uploadedHiddenField.ClientID + "\").value = '" + thePath + "';", true);
Option 2 (generate unique script id every partial postback):
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), Guid.NewGuid().ToString(), "top.$get(\"" + uploadedHiddenField.ClientID + "\").value = '" + thePath + "';", true);