I have a custom python script and tool which is designed to allow a user to select and zoom to a locality. Param is a feature layer (containing locality boundaries) and param is a multi value list which is populated from a field in the selected feature layer in param. If I open the MXD and open the tool the localities in param populate perfectly. If I use the tool to select a particular locality and zoom to it the script will run perfectly. However, if I then reopen the tool to use it again the only value which will be populated in param is the locality value I used when I previously ran the tool and not all the locality values. I cannot get this to reset until I close the MXD and open it fresh again.
The validation code is attached. Can anyone please tell me what I am doing wrong? I am sure it is something terribly simple which I am not seeing...