Instead of always repassing the message back in you queue you might want to transfer those messages into a "bad messages" queue to not stress your system that much.
If you are using Vista you have a bunch of opportunities to do that.
Best would be a poisoned letter queue.
Microsoft has a very helpful article on that:
http://msdn.microsoft.com/en-us/library/ms789028.aspxSome of the show techniques suit for W2K3 Server and Windows XP, too.
as far as I can see there is not a limit of ids that will be reached fast - of course there will be one somewhere. I was not able to find an info about that on the net.
There is a good blog that discusses some of the limitations of msmq;
http://blogs.msdn.com/johnbreakwell/archive/2008/02/29/what-are-msmq-s-limits-if-i-had-a-farthing-for-every-time.aspx