Compatibility layers can also introduce security bugs. One of the reasons why it was removed from OpenBSD.

BSD is more for purists anyway. Virtualization seems to be a better option than compatibility layers for the odd program that doesn't work natively.

Maybe that it's different for Windows API's on Linux, because by virtualizing Windows, you're still dealing with an unfree OS.

Theo de Raadt, 2010, on the removal of emulation: “we no longer focus on binary compatibility for executables from other operating systems. we live in a source code world.”

(Since then, OpenBSD has gained support for virtualization for some operating systems including Linux, through the vmm(4) hypervisor.)