"""For KDE we try to at least give the token nod to portability, by using facade patterns to try to map high-level concepts to appropriate low level libraries"""
Most projects do, to a lesser or greater extent. GLib wraps a lot of pointlessly different kernel/libc APIs, and the combination of GIO and its plugins wraps libproxy, GNUTLS etc. as well.
One of the problems with that pattern is that there's an art to designing the abstraction so that it has the features you want, and yet can still be implemented on all the OSs you care about. If GLib is anything to go by, it seems that to design such a thing well, you need an in-depth understanding of at least POSIX and Windows, and often Linux-specifics too.
Another is that having the abstraction is no help if you don't have all the implementations. GIO has GFileMonitor, an abstraction for filesystem monitoring (inotify/fam/polling), which should be implementable in terms of *BSD kqueue, but the closest it has got is an unmerged patch: until then, the BSDs get the fam or polling backend. The majority of GIO contributors are on Linux and have no motivation to implement alternative backends that they're never going to run.
GIO kqueue is an interesting case because it seems to be less useful (at least for GLib's use) than inotify: monitoring a filesystem with kqueue prevents it from being unmounted. The proposed patch to implement GFileMonitor adds a configuration file for sysadmins to configure which directories should avoid kqueue and fall back to polling, defaulting to /mnt, /media etc.; the GIO maintainers reviewing the patch, quite understandably, consider this to be a deficiency of the underlying OS, and would rather it be fixed in the kernel.