How about if gearhead just updated a file that said where you were? You could have a totally separate program keeping an eye on it and switching the music if you had per-location tunes defined. That external program could be written in whatever language you wanted, preferably one that made it easy to do midi. To start it up, you run a script (or batch file) that would start the music server and gearhead, so gearhead wouldn't have to know how to start a program, just write a file.
I personally just listen to the radio (
http://ckdu.ca/) while I play gearhead, or I play some tunes in xmms. Even if a game has good music, I usually want to listen to something else after I've heard it all a couple times.
I'm resisting putting much work into music support for gearhead because I think I wouldn't use it (much), and there are a ton of other things I'd rather work on in GearHead. If someone else wants to code it up, go right ahead.