After a long time working on this issue I was unable to find a work around.
The PropertyChange event is used as a mechanism within Outlook to update the internal recipients collection and because this does not fire when a recipient is removed there was no way to preserve a consistent user experience and retrieve the updated list of recipients using the Outlook object model.
This is purely a bug in Outlook 2007 and does not affect versions 2010 and 2013.
Additional notes: Saving the message will cause the PropertyChangeEvent to fire and update the recipients.