I see JNBridge has a public beta now for their JMS Adapters for .NET. I haven't tried this out, but Wayne tells me that with the JNBridgePro JMS adapters, you can access JMS Services from a wide variety of systems. A MOSS 2007 app could connect to a JMS resource. A business process running in BizTalk Server could connect to JMS. Anything that can consume a WCF endpoint.
Thw way it works: your .NET app calls into the Adapter, which just looks like a .NET assembly. Through the .NET-to-Java bridging magic of JNBridgePro, that assembly calls the Java-based JMS client classes provided by the vendor of the JMS provider (let's say, Sonic or IBM or WebLogic). From that point on, it is just as if you were calling into the JMS resource from a Java application. At that point, there is a message on the JMS-accessible queue, and it can be picked up by whatever mechanism the JMS provider enables - pub/sub, or an EJB Message Driven Bean, etc. Communication going "the other way" - from Java to .NET - would work similarly.