Slight issue(s).
Does not check if hash table exists while loading.
No 'on unload' to save hash table/unload.
No 'on exit' to save the hash table.
Not multi-network friendly. (id suggest ' $network $+ $wildsite' , instead of '$site').
hsave .. inside a nick event.. That just screams mIRC lag when it starts to grow.. In my opinion, id gut that..
I'd create a timer to save on occasion (id do a save every 24 hours or 12). (save it into a 'nickChange.hsh.bak')
Make 'on start' check for file size and compare the size of files and load the biggest one $file(foobar.hsh).size .. could use $calc