I would assume that the first rule applies only to assigning the walker skill to a lemming who is already a walker (so for example, you could still use a walker inside a one-way field to, eg. cancel a builder). If this is the case, this is the one I would be in favor of. (or alternatively, making it do nothing in this case)
However, with that being said, I'm not entirely sure (based simply on quick thinking and the description here, rather than any actual testing / examining of code) that #1 would actually fix the problem completely. Although it would prevent passing through altogether, it would not prevent going somewhat inside it, because the first such walker would be assigned one pixel outside of the field (the next one would then be inside it, and prevented). This could still essentially be used as a delay tactic, or to squeeze one pixel extra distance for the starting point of the next skill you use. Of course, this could be sorted out with a special rule that checks at the new position too.