This is because $asctime is suppose to display time/date information based on the number of seconds from Jan 1 1970 00:00 GMT. Since you are in a different timezone, mIRC adds/subtracts hours to $asctime to make up the difference.
You can however use the $gmt function the same as $asctime, and it wont adjust for timezone / daylight savings... however years/months/days are still just as useless for durations.
- Raccoon