AFAIK it is not a recent rule. if you ever get traded through and you don't get filled IMMEDIATELY call you broker and tell them. this happened to me once and the broker said "you're out at x price - i'm telling you it's confirmed you received this price" even though it wasn't showing up on my platform yet. and when they say that over a recorded line they are legally required to pay you that price.
I did, and that's when TDA told me that they send each order to a specific venue. Once the broker sends the order to the market, isn't it out of their hands, anyway? If I'm willing to sell at the same price that another customer wants to buy, but my broker will only send to PHLX and their broker will only send to CBOE, it seems like some trades just won't get done.
one way to possibly get a better fill is to cancel the order then resubmit and hope it gets routed to a diff exchange. if the price discrepancy persists for too long arbs usually come in pdq. if you still have the prob consider switching to ib which generally has the best execution though TDA is close behind them.