i read your module and try to understand how it works. If i'm not wrong
at hook_init you get menu_breadcrumb preferences to know which menu or regexp to use for build breadcrumb
you set active trail to this menu <-- here is the bad things for me (on D7)
you call drupal_get_breadcrumb() which call menu_get_active_breadcrumb() which build breadcrumb based on active_trail
With D7, there is a new function :
// Allow modules to alter the breadcrumb, if possible, as that is much // faster than rebuilding an entirely new active trail. drupal_alter('menu_breadcrumb', $active_trail, $item);
So i think you doesn't have to rebuild breadcrumb in hook_init but use hook_menu_breadcrumb_alter($active_trail, $item) to build your clean new breadcrumb.
You still could add current page (with or without link) to breadcrumb with a hook_preprocess_breadcrumb(&$variables)