- it's going to cause extra server load from thousands of people refreshing every 30 seconds to see whether their 0.0001 BTC no fee transaction went through
- it's extra work that does not benefit their customers (miners)
- it doesn't generate revenue
Yes. Merchants would pay a few bitcents per block to see what transactions will be included. Then they'll know with a pretty high degree of certainty if someone even attempted a double-spend. If merchants could see this for the mining pools compromising ~80-90% of the hashing power of the network, then they could even accept payments with even 0 confirmations, because for a conflicting transaction to be mined (the main worry for merchants) would require most of the solo-miners (comprising ~15% of the network) to collude and include the conflicting transaction. Since I'm pretty sure that the non-pool 15% is pretty fragmented (no one person has control of more than 0.5% of the network), you'd need to get a lot of solo miners to include the conflicting transaction.