Finally checked gnome-bluetooth into GNOME CVS. hadess has started to do some much needed clean-ups on the code. The consensus seems to be that using Bonobo is pretty pointless, and that the bonobo-centered bits of the code should die in favour of a normal GObject. The rationale for using Bonobo in the first place was that it might make interfacing to other languages easier, but it seems there is more will to generate a handful of language bindings for the GObject than to use Bonobo.
Unfortunately this means a little bit of code-rewriting. I have to say that writing GObjects in C isn't particularly pleasant either, but there we are. I think it's the right decision, although I feel a little guilty about it.