The composite impeller on the E46 water pumps (that ALL E46's came with) is not the failure point. This part outlasts the life of the bearings. What I have read that happens is that the bearings start to make noise and the seals leak coolant. For an automatic, it can cause the clutch fan to vibrate and it will blow the fan up eventually or destroy the plastic pulley. The only impellers that fail are on E36 generation BMWs and some other models from that period. The impellers that fail on E46s likely have 150K miles on them and over a decade of age. You shouldn't drive a water pump past 100K, just like any other brand (Honda, Toyota, GM, Ford).
Most cars (all brands) get a new water pump at 100K miles when they have their timing belt replaced. They do this because it is easy to do once you have all those parts taken out for the timing belt. BMW's "fail" because owners don't replace them with the belts at any interval. It is so easy to replace, that it never gets replaced on any other service. It is an overlooked item that is REAL maintenance for any car. We don't have a timing belt, so there is no "might as well do the WP too" mentality.
Just get an OEM water pump (Saleri brand) and be happy. It will still have the "plastic" impeller, but the bearings will be new and you will save money over that Stewart pump. Honestly, the Stewart pump is over compensating and it is over engineered. Water flow increase is not necessary.