The help does NOT say it works FIFO or LIFO, it just says Notify puts the Event “at the FRONT of the Event Queue” i.e. First.
In his post Brahn concludes that with multiple NOTIFY()'s sent the effect is LIFO (not FIFO), that the Last Notify IN will be the First one OUT when the Event Queue is read. I agree.
Event Queue: Before
- Event:Selecting
- Event:Selected
Event Queue: After your 1st Notify( Down_Mouse )
- Event:Notify - Down_Mouse - put 1st
- Event:Selecting
- Event:Selected
Event Queue: After your 2nd Notify( Up_Mouse )
- Event:Notify - Up_Mouse - put 1st
- Event:Notify - Down_Mouse - was 1st now 2nd
- Event:Selecting
- Event:Selected
Next time ACCEPT pops Event 1 off the Queue it will get "Notify Up_Mouse " which is the Last Notify() … that pushed it First on the Queue before Down_Mouse … so Notify works “Last In First Out” = LIFO. Posting at the Front makes Notify like a Stack.

How can I get Notification to work on a FIFO basis?
It cannot. Maybe in your Notify(, Parameter) you could use some kind of Unique ID to match the Down and Up pair. Or easier just don’t use Notify use Post. Must your events really move to the front of the line, there cannot be many pending events that will interfere.