At eToys we made named parameters part of our coding conventions. It really helped, and I would recommend it as a good way to help keep stupid bugs out of your code.
If a sub takes only two params, and is not part of the public interface, it's a judgement call based on the likelihood of that sub growing in the future. If it's part of the public interface, I would used named params even if there was only a single one. It's insurance against changing a bunch of other classes later on.