Here is a first idea how to modify the basher behavior:
1) Continue bashing if one of the following two conditions is satisfied:
1a) There is removable terrain withing the next (14-5*n) pixels (and at the correct height), where n is the number of previous bashes that haven't removed any terrain.
1b) There is steel within the next 4 pixels (and at the correct height) and one of the last three bashes has removed at least one terrain pixel (if only one or two bashes are done, this would always count as being true)
2) Always allow assignment of bashers. Currently one cannot assign bashers within 4 pixels of a steel wall.
So how would this affect various scenarios? Let's check...
a) Assignment within the first 5 pixels of a steel wall: The basher would bash once, then move forward and turn.
b) Assignment within within the first 10 pixels of a steel wall: The basher would bash once, then move forward 5 pixels, then continue bashing due to rule 1b), and move forward one last time due to rule 1b) and finally turn at the steel wall. The basher would bash once, then has no steel pixels directly in front of him and stop. He would not turn.
c) Assignment farther than 10 pixels from a steel wall: The basher would bash once, then stop and walk forward towards the steel wall.
d) In the setup of "righmost part of image attached to first post", the usual terrain behind the steel wall would usually not influence the behavior: Only if the steel wall is n<=3 pixels thick and we assign the basher at least 10 pixels from the wall, but at most 14-n pixels from it, it would make a difference. With the terrain, the basher would continue until hitting the steel wall, while without the terrain, he would simply bash once and then stop. Even in the setup b) the usual terrain would make a difference, so this is much more problematic, than I first thought...
e) möbius' top left example: No change, because the steel is too high to count as terrain.
f) möbius' bottom left example: No change, because the usual terrain works the same as before.
g) möbius' top right example: The lemming will still turn around, because of the low steel pieces, but now one could assign the basher at more places.
h) möbius' bottom right example: Here the movement depends on the precise set-up. Likely the lemming would see sufficiently low steel pixels to continue, but be low enough not to turn at them. So he would probably bash three times and move forward twice until stopping bashing.
i) möbius' bottom right example with additional usual terrain at the bottom: This is actually the only setup where rule 1a) gives a different outcome to always checking for usual terrain pixels within the next 14 pixels. In the naive non-1a) rule, the basher would be able to make three strokes within the steel area and then additional two more air-strokes until reaching the usual terrain, giving 5 air-strokes in total. But with the rule 1a) above, the basher would stop at the same place as in the case h). So: If we turn the lemming into a basher within 14 pixels of the usual terrain, he will continue bashing into the usual terrain. If we make him a basher before that, he will make at most three strokes and never ever reach the usual terrain as a basher, regardless of the precise steel placement.