Thanks to the friendly help of gsm-ussd users in this debianforum.de thread (Attention: German spoken there), there's a new release of gsm-ussd: v0.2.0 is out.
A few modems were tested in addition to my crappy E160. As a result, other modems with a bit more brain than my retarded E160 should work for real this time. To be exact: Better modems don't need to encode the USSD query as a Hexstring of packed seven bit values (and don't need to decode teh answer out of several encodings...). If gsm-ussd recognizes a Non-E160, it will use cleartext. You can use the options "--cleartext" or "--no-cleartext" at your own risk.
If you prefer clicking to typing, xussd is for you. xussd is a shellscript which runs gsm-ussd, too, but beautifies its input and output with kdialog (if you're running KDE) or zenity (if GNOME is your DE of choice). There are input boxes for USSD query and PIN, the modem device still has to be set by option "-m /dev/my-modem-ctrl-port" at run time. Just create a desktop icon which runs xussd and specify your modem device there.
Here are the downloadable files:
As usual the reminder that the real project is on github.com:
Good to see that there's some interest in my little script!