mIRC does not retain hash table information when the client is closed. I use the ON EXIT event to save hash tables to the hard drive so that the data is not lost.
Additionally, hash tables are stored in RAM, so when you restarted your computer, the ram was cleared.

This is par of the reason why I (usually) have the following in any script that uses a hash table

Code:
on *:start:{
  if !$hget(TABLE) { .hmake TABLE 100 }
  if $exists($scriptdirTABLE.hsh)) { .hload TABLE $scriptdirTABLE.hsh }
}
on *:exit:{
  .hsave TABLE $scriptdirTABLE.hsh
}
on *:disconnect:{
  .hsave TABLE $scriptdirTABLE.hsh
}
Replace TABLE with the actual name of the hash table you want referenced.