The recent optimizations to Box.cs in SegmentIntersect introduced a bug with determining the normal of the intersections. The optimizations do not allow a normal in the Z (+ or -) dimension. Instead, they are all in the X or Y dimensions.
This seems to be because the "dir" variable is never allowed to be > 1. On lines 538 and 543, I believe the reference to dir should be changed to 3. It seems like a copy/pasting error from the original loop to literal values.
Hope this helps! The project is great and I love it. Thanks for everyone's work.