I think we need to clarify there is a huge difference between several things...
0 satoshi != 0 value (value can be embodied in the data)
0 value output != 0 value tx...
If a transaction is not accepted as 0 fee then to use a 0 value output you would still need to include a valued input and a valued change output so you can include a transaction fee.... Miner isn't going to be interested in a tx that contains 1 0-sat input and 1 0-value output as there is no tx fee... Unless miners are being altruistic none of this happens without value being transferred to miners and it's the miners that determine how much they should get paid...
I think we need to clarify there is a huge difference between several things...
0 satoshi != 0 value (value can be embodied in the data)
0 value output != 0 value tx...
If a transaction is not accepted as 0 fee then to use a 0 value output you would still need to include a valued input and a valued change output so you can include a transaction fee.... Miner isn't going to be interested in a tx that contains 1 0-sat input and 1 0-value output as there is no tx fee... Unless miners are being altruistic none of this happens without value being transferred to miners and it's the miners that determine how much they should get paid...