I finally found where all these erroneous reponses were coming from: training and chatlogs.
After some more testing, I removed my commented out code from salutaitons.aiml and tried again, now that training and chatlogs were no longer interfering with my responses.
Problem now is, Adelaide is supposed to be GMT+9:30, but that was still giving me the wrong time, a whole hour fast. So I fixed the problem with +8:30. It works, but it is still wrong as it's not +9:30. Putting in GMT+9:30 didn't help.
<category>
<pattern>What time is it</pattern>
<template>
<random>
<li>The time is currently </li>
<li>It is currently </li>
<li>The time is </li>
<li>It is </li>
<li>Its </li>
</random>
<date timezone="+8:30" format="%I:%M%p"/> right now.
</template>
</category>
I tried using Date.setTimeZone(Date.time(), "GMT+9:30") but it seems that can't used as a replacement for <date timezone="+8:30" format="%I:%M%p"/>, as it was assumed that I knew how to use it.
Any insight in why +9:30 was producing wrong time 5:1PM instead of 4:1PM?