having now spoken to the DBA, my problem is duplicate event names. Though the message data in each is different, it only process the last one as the previous ones are duplicates in its eyes, which is correct
Alerts can be signalled more often than the corresponding application WAIT calls. In such cases, the older alerts are discarded. The application always gets the latest alert (based on transaction commit times).