I don't know if this is a bug in ICS 4.0.4 or I am just a complete tool.
Basically when I set an alarm, it will only go off if the phone is on. If I turn off the phone, the alarm time comes and goes and the phone stays off and doesn't make a peep.
.
Check this
MIUI Official English Site
scroll to the bottom:
'Alarm Clock Always On'
'Just because you turned off your phone, does not mean your alarm clock will be disabled. The scheduled alarm on your MIUI phone will still go off'
As far as I know Galaxy S3 is supported by MIUI.