I did some debuging on that and didn't get much conclusions coding will be kind of.
identify your searches on CRM_SHORTCUT.
To get guid and type
guid = iv_shortcut->get_property_as_string( iv_attr_name = 'GUID' ).
type = iv_shortcut->get_property_as_string( iv_attr_name = 'TYPE' ).
* Delete the saved search shortcut
iv_shortcut->delete( ).
* Clean-up references
data: referencing_shortcuts type ref to if_bol_entity_col,
referencing_shortcut type ref to cl_crm_bol_entity.
referencing_shortcuts =
me->get_shortcuts_by_reference_key( iv_referenced_key = guid ).
referencing_shortcut = referencing_shortcuts->get_first( ).
while referencing_shortcut is not initial.
me->delete_shortcut( iv_shortcut = referencing_shortcut ).
referencing_shortcut = referencing_shortcuts->get_next( ).
ENDWHILE.
Any case still searching for a cleaner solution..