There is a problem with ItemRemove event on Items collection of a folder in Outlook 2003: it does not return item removed, so the only option to find out which item has been removed is to count items before and after delete.
The individual item objects have a BeforeDelete event, but it's usable only if you're willing to use a wrapper class to instantiate an instance for every open or selected item.
Problem is not in Outlook Object Model, it is on the MAPI level, TABLE_CHANGED
event is fired rather than TABLE_ROW_DELETED.
This was fixed in Outlook 2007.