I think this is strange, especially as it does use O_NONBLOCK on other UNIX-ish operating systems. As far as I know FIONBIO are and O_NONBLOCK are handled exactly the same on Linux.
If this is intentional then I think it's because it's one system call instead of two. Requiring only one round-trip to the kernel is a little bit faster.
On other Unix FIONBIO might do something different so the same "trick" cannot be used.