We tried to make our code as robust as it could be in the face of kernel code that behaved in a manner that was fairly ridiculous relative to our needs. This case doesn't seem that different to me.
+1. Seems a shame that freebsd chooses such "optimizations", but making our code do various workarounds and jump through hoops to support various OS quirks (hello Win32 fans!) seems a burden we agreed to take on a long time ago.