Я подозреваю, что, хотя это не лучшая практика, очередь очищается при перезагрузке, и до тех пор, пока доступно достаточное количество ресурсов, вы никогда не столкнетесь с проблемой.
Тем не менее, я бы предпочел настроить что-то для периодической очистки очереди, чтобы вы не перегружали сервер. Я не слишком знаком с MSMQ, но есть ли способ узнать, обработано ли сообщение? Даже если это дополнительная служба, которая запускает, проверяет сообщения в очереди и проверяет, появляются ли они уже в базе данных, и удаляет их, если они появляются? Таким образом, вам не нужно будет модифицировать кодовую базу, которую вы унаследовали, поскольку она работает как есть.
Как только вы определитесь с решением, пожалуйста, опубликуйте обновление здесь - мне интересно узнать, как вы в итоге справляетесь с этой проблемой. Спасибо!