Seeing as I'm the one responsible for converting FluidSynth over to glib in the first place, I thought it is only right that I respond ;-)
Prior to FluidSynth depending on glib, there was a bit of platform support code. This code was error prone, somewhat hard to maintain, and often limited supported platforms. Leveraging off of glib meant that all of this code could be removed and FluidSynth would automatically be available on any platform glib supports. So this was primarily a convenience for developers.
However, there are cases where it would be nice to not have this dependency. Embedded and mobile systems use is one example in addition to the Windows use case you describe. However, from what I have gathered, there are versions of glib that do support Win9x which also meet the minimum required version for FluidSynth. FluidSynth currently depends on glib 2.6.5+. This email thread (http://gtk.10911.n7.nabble.com/Last-supported-version-of-GTK-for-Win9x-ME-td57072.html
) suggests that glib supported win9x with versions as late as 2.6.10 at least (though it is actually talking about GTK in this case - which glib is a dependency of).
Having said all that, it would be nice to have the ability to build a possibly stripped down version of FluidSynth which would utilize a user defined compatibility layer. I did a quick glance at the current source code. From what I an tell, the hash table code is native to FluidSynth and was lifted from glib sources. The majority of the glib subsystem use is related to thread creation/management, thread locking primitives, thread signaling, thread private data, and atomic data operations. For the single thread use case, a lot of this code is not needed. Internally the FluidSynth source code still has it's own compatibility layer and from what I can see does not reference glib directly. The majority of this interface is defined in utils/fluid_sys.c and utils/fluid_sys.h. Defining platform specific versions of these files would provide what I think you are seeking. A lot of those primitives are fairly simple really, and could probably be easily lifted from glib sources for use on a specific platform.
At any rate, seems like a good idea. It would take a little work though.