I've used Ragel before for many parsers and a handful of state machines -- however, it's a bit awkward for a "pure" state machine. Makina looks interesting though, I will take a deeper look.
BTW: If anyone remembers Zed Shaw, he wrote some interesting stuff on using Ragel as a state machine for his Utu protocol:
http://web.archive.org/web/20090214182920/http://www.zedshaw...