"Should" can be used with "if" to indicate a hypothetical future action, or a past action that might have happened but didn't, without any "ought to"/"supposed to" implication (I
think this is a subjunctive use, but grammatical terminology is not my greatest strength!). To me, this usage is formal, or, especially in the past tense, old-fashioned. Typical examples:
If you should see her, tell her I miss her = If you see her, tell her I miss her
If he should try to sue me, he'll regret it = If he tries to sue me, he'll regret it
And, as you say,
Now if she should have done so - would we have been charged twice? = If she had done so ...
If he should have done this, they would praise him. = If he had done this, they would praise him.
As far as your other examples are concerned:
If Y2K should have done one thing it would be to teach customers the dangers of being tied to a software provider who could say "oh yes we know, tough ***, upgrade for $1M". I'm not sure it did.
To me, this has the "ought to" meaning: Y2K ought to have done this, but it probably didn't. I'm inclined to this interpretation because of "I'm not sure it did", and also because the rest of the sentence is not written in the formal/old-fashioned style that I'd expect from someone using "should have done" in the other sense.
If anyone was too good to die, it was Jesus. If anyone should have done greater things than walking dusty roads and talking with people too dense to understand him, it was Jesus.
I'm not sure what the author means here. I naturally read the "ought to" meaning: he ought to have done greater things, but he didn't. But it seems an odd thing to say.