What's the point of that? Giving your opponent a chance for a bigger score difference? I think that should be fixed.
As far as I am concerned, the engine operates on the same time plane as the Hitchhiker's Guide to the Galaxy, which roughly is:
Anything that happens, happens.
Anything that, in happening, causes something else to happen, causes it to happen.
Anything that, in happening, causes itself to happen again, happens again.
It doesn't always do so in chronological order.
More seriously, it's probably similar to the problems where some possessions are calculated to end with a steal, but it takes up to 40 seconds for it to happen, or the end-of-game scenario where a team in the "steal or foul" situation is calculated to get a steal, so they sit for 20 seconds and get a steal with 0 seconds left. Or the defensive rebound with 1 second left leading to an assisted layup on the other end. I presume the 0 second foul is similar to that and will hopefully someday be resolved.