The main trouble is the file you tell us to get is called runiconth3.png and the one that you've told the script of yours to load in the dialog is called runicon.bmp. So, hence, you get this error:
* /dialog: 'run' error loading icon 'C:\mIRC\runicon.bmp' (line 55, mircrun.mrc)
A simple fix got me the dialog up and running. It never gave me the right information, as well it will create multiples of the same entry if you do the same run twice. Also, the first run is never saved.
Another big issue is that you've set variables as well as hash entries. Why not use the hash table for everything?
There is no unload feature, so it's impossible to unload your hash table unless you shut mIRC off or type: /hfree run.
This snippet has given me an idea ;-)