shouldn't $mircdir always refer to the directory mIRC is installed in?
Not according to the help file:
$mircdir
Returns the directory where mIRC stores its settings, such as mirc.ini, and other files and folders.
Older versions' help files state:
$mircdir
Returns the current directory of the mIRC program."current directory" was never defined as the directory mirc.exe is in. The -r command-line switch (which existed long before 6.3) illustrates the difference.