Avoid modifications on descheduled fds and the coupled assertion.

If the callback removes the event, but does not return 0 it is a bug,
but not one so heinous as to solicit an assertion.  This only means
that deep in the callback someone did something to deschedule this
event and didn't communicate that all the back up the stack so the
immediate caller returned some interest.