Without looking into it too far, my first guess is you might be having namespace collision with multiple copies of the same class. I notice in your constructor & some of the method you define some variables like..
Code:
nestwin = AddItemWindow()
I would encourage you to put the keyword "local " before the variable name or if you want to later reference it, assign it to a private datamember of your object reference.
Essentially what I'm getting at is perhaps the copy of "nextwin" in your click event function isn't referring to what you think its referring to when the code gets ran (but rather the last one to be defined.