The code uses a 'has_item' properly to decide weather or not a checkout page should be included in the progress bar. It hard sets this to TRUE for everything except commerce_payment_redirect. Other modules do a similar redirect technique (eg commerce_extra's login page), as can custom checkout pages/panes.
This module should respect the has_item property set on a checkout page's definition. This would allow us to set/unset this using hook_commerce_checkout_page_info_alter() or something similar to dynamically include/exclude checkout pages from showing in the progress bar.