the very first place I Created the
wGather widget in an Event Graph, or
do you mean in the widget’s Designer
In the EventGraph. It’s also were you keep the original reference to it, most likely.
In the wGather widget Event Graph, I
did a Create Widget for wGather, and
thats the only Create Widget for
wGather in the whole project so far.
This might be the confusing bit - you are trying to create wGather inside its own EventGraph 
Have a look at this:
I create 2 widgets in my GameMode (a class that is accessible from anywhere in the game, we’ll get to that):
I promoted both returns to variables - this way, the GameMode now stores a reference to each widget - the references are also of the correct type, so they do not need casting.
Now, wherever in the game I am (it can be in any of the widgets, too), I can do something like this:
Essentially, the GameMode is storing the references to those 2 widgets and any blueprint that can access the GameMode can also directly access those widgets. They can talk to one another, too.
Think about it as the object that serves as a communication hub for the data and creates connection between parts of the game.
Let me know if this clarifies things a bit.
The OnClicked Event for the green
round button in MainInterface takes me
to its Event Graph, and from there I
am trying to get another widget to pop
up from within the wGather bluprint,
where at the moment, in its Event
Graph, there is only one Create Widget
for wGather.
In this case you should let the MainInterface create the widget, no problem with that. Create it in the MainInterface’s OnClicked Event and store the variable.