I tried hidden orders with IB once before and immediately stopped using them because they were not routing out if orders became marketable away (as IB said they should). IB claimed it was fixing this, so I've tried using them again yesterday and today. They don't work anywhere close to what IB claims. I've had stock go offered .04 through my bid today and stay that way for 5 minutes without executing.
I'm not using hiddens a great deal right now, but since last August I've worked tens of thousands of them and gotten filled on at least several thousand ... my platform notifies me immediately when the NBBO gets close enough to my personal BBO (hidden or not), and it squawks extra-loud if I'm crossed or locked, so I would see what you describe 100% of the time ... I don't recall even one time when your experience has happened to me, except MAYBE the first day or two (see next comment below) ... in other words, SMART routing has worked fine for me with hiddens, BUT:
The first day or two I tried hiddens I was using standard SMART routing and it was horrible - orders that should have been on NYSE kept getting stuck on ISLAND ... this is grossly unacceptable to me, PLUS there is no way to know when it happens without manually viewing 1000+ TWS market data lines every 5 minutes, since IB in their infinite wisdom has chosen to not let us have API access to the exchange on which a SMART routed order is currently being worked. Long story short, in order to experiment with hiddens I had to choose the global SMART routing option to always send non-marketable limit orders to the listing exchange first, before applying any other SMART algorithmics. Contrary to what you might guess, this worked great. Based on my thousands of observations, I believe the only downside is that I miss a few decent dark pool executions per day - only a blip on my p&l screen. However, I would understand completely if many traders found this SMART setting to be odious and unacceptable for their own trading...