The importances of libqemu is:
1) Providing a common QMP transport implementation that is extensible
by third parties
2) Providing a set of common transports that support automatic
discovery of command line launched guests
3) Providing a generic QMP dispatch function

Adding to this C wrappers for QMP commands threatens to make QMP command
arguments part of the library ABI. Compatible QMP evolution (like
adding an optional argument) turns into a libqmp soname bump.
Counter-productive. How do you plan to avoid that?

You could make the API use QObjects; then you're completely isolated
from high level protocol changes. Of course, this is less useful than
the full API.

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.