Thanks for the help so far - still a bit stuck.
I've changed the game over to start using the NGUI events instead of doing it myself, and seem to have most parts fixed.
The issue I'm running into, is that I have a few items that, when clicked, I want to remove the panel that was placed fro the tower. For example, if I click a tower, I see the panel. When I then proceed to click on the terrain, I want to remove that tower.
Thus, this leads to the logical conclusion that I need to add an OnSelect to my terrain, and when selected, go remove any panels that may exist. It works fine if I write a script that does this, and attach it to the terrain.
The issue, however, is that I have several of these kind of objects - terrain, other UI objects, etc, that aren't really selectable. Thus I wanted to go in and create an empty game object I called 'noSelect', and then I set all the other objects, such as terrain, boxes, etc, to this newObject, and attach the noSelect script to this parent object. But when I do this, it doesn't work as expected.
Is there a way to do the above without me having to add the script to every single object that isn't selectable? I'd like to just add it to a parent container.
Thanks again!