In one of the recent projects I was in we used Sonic MQ. Good overall implementation with good bindings to .NET.
We had a little of scalability problems, but I have to admit that the scalability requirements were very strict: if I can recall correctly, something like 20,000 messes a second with no delays allowed between the 200 different clients (every client had to receive every message at the same time).