There are several possibilities here, my experience with MQ is from a Systems Admin perspective on windows administering MQ to get and send messages to/from a SQL server, AS/400, and Unix environment. I’m assuming you’re referring to the windows commands, but imagine the logic will apply if not.
Basically, there are only a few possibilities– without knowing more I’m not sure we can get more precise:
1. The sending program is for some reason sending the message multiple times due to a logic error. Which sounds likely since the message only happens once in a while.
2. The message is being duplicated due to it going in a circle for some reason, again a logic problem. I.E. SQL-> Windows Service ->AS/400 -> UNIX -> SQL
3. The recieving program is “thinking” it pulled the message off, but due to a logic error isn’t actually removing the message.