I have
one of these and it's pretty sweet. I havn't spent too much time trying to configure it, but right out of the box it seems to work okay with many programs. I wish I could change the behavior of each button but I havn't really figured out how to do that (or if it is even possible).
I might try the Microsoft remote next. I use Windows Media Player to manage my stuff so I wanted something that worked well with that. Firefly does an okay job but its got its limitations. I havn't found it to be very flexible/customizable.