Processing of incomming messages via GetSMSList or via event (unsolicited messages)

What is better, to periodically check messages using GetSMSList or to enable unsolicited messages? I'm normally using both periodically and unsolicited checking. Because sometimes incomming message may be missed. So I'm checking TSMS.GetSMSList() every e.g. 3min (also when program is starting) and unsolicited messages in event. It processes the messages quickly and reliably. _