I can second this, a distance check is required for the returned objects when using NonAllocated casts. Not that I have tested in this exact scenario or checked the code yet, but if NonAllocated then I have certainly come across the same issue in the past in code of my own.That is because all Physics.*Cast were changed to Physics.*CastNonAlloc in TrajectoryObject.
Physics.*CastNonAlloc returns all hits not sorted by distance.