I've logged into my Call Pilot system on my BCM and I think I now understand your problem.
As you have stated, you have set the Message retention period to 30 days. There isn't a "read" option as is found on other systems when I looked into my Class Of Service table.
Because your users receive their voicemail messages via email, then there isn't anyway that your voicemail system can know that the message was received via the IMAP "email" service as a signal won't be sent back to say that the message has been delivered via email.
The feature was designed in conjunction with the mailbox user still having access to their mailbox via the phone etc.
I can only think of two solutions for you. The quick fix is to increase the size of the COS mailbox by clicking on the "Max Mbx Msg Time [Min]," as the default tends to be 30 minutes and you can increase this to 180 minutes.
The second solution is to get the users to log into their mailbox via the browser to manage their messages. The url is
Replace the 192.168.1.2 IP address with the details that your BCM has. The mailbox user will need to know their passcode and I'm guessing that it will need to be reset first.
Once in the Mailbox Manager area, you need to go to "Off Premise Notification" to set it up so that an external device such as a cell phone is rung.
However, if the user has the Call Pilot email application enabled in their Outlook client, then they can click on any message listed in there and it will tell the Mailbox that the message has been read and will therefore it will be deleted when the 30 days have passed.
I have just checked this along with the mailbox manager tool and it has decreased the number of unread messages.
Firebird Scrambler
Nortel and Avaya Meridian 1 / Succession and BCM / Norstar Programmer
Very advance high level knowledge on the Linux BCM phone system.
Website