Since postgresql-simple has started using non-blocking calls, and this binding is currently a little overly conservative about using safe FFI calls, I'm marking isBusy as unsafe as it is non-blocking. getResult is a bit tricker as it can be a blocking call, or not, depending on when it's called. sendQuery's blocking behavior depends on PQsetnonblocking mode; however the proper use of sendQuery in non-blocking mode is a little opaque, and I'll have to investigate further.
This function hasn't been very relevant for a *long* time now, and we'll be dropping support for libpq 8.4 real soon. You can fetch oids using RETURNING since postgresql 8.3, and the default has been to create tables without oids for some time before that. So while recent libpqs still have oidValue, and you can use newer libpqs to connect to older postgresqls, I still very much doubt this will impact anybody. In particular, none of the reverse dependencies of postgresql-libpq on hackage make use of oidValue. If anybody really desperately needs this function, then it should be no difficulty to write a separate binding for it.
Further reduced the object code size by a bit over 2 kilobytes, from 609632 bytes to 607560 on my machine (64-bit GHC 7.6.3 on Linux) Also, it may be worth deprecating oidValue, as it's not terribly relevant anymore: the default is to create tables without OIDs, and RETURNING is a better solution anyway.