Check iCal -> Preferences -> Advanced. There is a check box for "Turn off alarms when iCal is not open"
If this item is checked, then the iCal alarms will only activate when iCal is running. Click it off to allow iCal's alarms to run even when iCal isn't.