what if I want to hold more than one type of USD IOU? Are you saying everyone should just use a single gateway? Surely there are valid reasons to trust more than one. For example, it becomes more convenient to deposit with a new bank, though you still hold an account at your previous bank.
I think trust lines have a "quality" setting, which is the ratio for converting between one type of IOU and another type of IOU. The client doesn't let you set it but you can issue a raw RPC command with JSON in it that sets it. I expect in the future this option will be provided.
does ripple still work in practice if this default (free "liquidity providing") is switched to "off"?
I am not 100% certain but it would have to be implemented in a way that says "ignore everything but order books when computing paths." I believe Ripple would still work in practice with this change.