1) No need for the me prefix in the ON DISCONNECT event, since that event only responds when you disconnect.

2) I avoid the 'table exists' error by using this format in the ON START event
Code:
on *:start:{
  if !$hget(exempt)  .hmake exempt 10
  if $exists($mircdirsys\exempt.hsh) hload -i exempt $mircdirsys\exempt.hsh
}

My preference is to use $exists rather than $isfile, since $exists will return false if the file has a 0 byte size, but $isfile will return true.

Also, the directory where the file is stored has to be contained in the $exists/$isfile otherwise mIRC will only check the installation directory.

The $qt isn't required, even if there are spaces in $mircdir
If there were spaces in the sub-directory name off of $mircdir
eg: $mircdirRussel Bairstow\exempt.hsh
does require the $qt so that it reads $qt($mircdirRussel Bairstow\exempt.hsh)