I thought that how Bitcoin system works cannot be changed unless 100% of the participants agree.
It is this way, indeed. If some people decide to start their nodes with a different minimum fee setting, and if some miners / pools decide to continue to accept dust transactions (or if Someone
(TM) writes an alternative client) then they continue to be propagated and mined...
1. Why not 100 or 1000 micro BTC, but 54 BTC? 100 or 1000 is nicer and divides better.
This new patch defines "dust" outputs by comparing their value to the required minimum fee.
There is now a comandline setting to change that minimum fee (previously it was hard wired). If you change that setting for your client, the threshold for "dust" transactions is adjusted accordingly.
2. Couldn't devs spend their valuable time on providing upgrades with non-controvertial features?
Who determines what is non-controversial?