When using a function to do any comparisons for objects created within the original function call event, the objects are not available, unless you wait a tick. In fact only the objects that existed before the event are available to the function, even if those objects were destroyed within the event.
Confusing no?
What is expected is the same as if using a variable for a trigger. When doing so objects created in the event are accessible without having to wait a tick, and objects destroyed are no longer available. Even if the destroyed objects are the same.
In the capx the texts show how functions react to not using "wait" compared to using a variable.
https://dl.dropbox.com/u/666516/r115bugfunctionforeachwait.capx