There is a bug in IBM XMS for .NET that causes grouped messages to be written incorrectly. Grouping needs to take place in both the XMS layer and the MQ layer. In the XMS layer, properties JMSXGroupID, JMSXGroupSeq, and JMS_IBM_Last_Msg_In_Group are stored in the RFH2 header. When XMS hands the message off to the MQ layer, it is supposed to use the RHF2 header properties to set fields in the MQ message descriptor. Specifically, when JMS_IBM_Last_Msg_In_Group is true, the message descriptor MsgFlags bit for last message needs to be set on. It is the setting of this bit that is missing.
The consequences are severe. At the MQ layer, the group lacks a last message. MQ will hold onto the messages forever waiting for the last message to arrive.
There is a fix for this, but, as far as I know, it hasn't yet (as of April 2007) been released in a service pack. If you need it now, call IBM and ask them for the fix associated with PMR 90665,180,000.