I agree with you; the first one is the good one.
While it is grammatically correct, should have in the sense of the meaning of would have in the first person is falling out of use. Most of the time, should has the meaning of ought to, as Dmandy mentions. However, should can simply be the past tense of shall as well, especially when used in the first person.
I shall go to the fair tomorrow.
I should have gone to the fair yesterday, but I was unwell.
This does not have the sense that I ought to have gone yesterday. Rather, it has the exact meaning of the more usual (at least in AmE) "I would have gone to the fair yesterday, but I was unwell."
The "correct" use of shall (which most of us don't use much any more) differs from first to second and third person. In the first person, shall signifies a simple statement of expectation, whereas will signifies an intent.
I shall go downtown this afternoon.
I will speak whether you try to stop me or not.
In the second and third persons, this is reversed.
You will need a jacket, as it's going to be cold.
Congress shall make no law respecting an establishment of religion...
The first is a statement of expectation, while the second states a requirement. (Nowadays, the word shall in the third person most often occurs in laws and technical specifications.) This is why the word should has the sense of ought to; it derives from the sense of shall as a requirement made of another person or entity. (The actual word derives from the OE sculan, meaning to have to, to owe, or must. The first person singular is sceal, pronounced pretty much the same as shall.)
Wikipedia: Shall and Will (which is well worth reading if you want to learn the usages in some detail) gives an interesting example of the difference:
I shall drown; no one will save me! (expresses the expectation of drowning, simple expression of future occurrence)
I will drown; no one shall save me! (expresses suicidal intent: first-person will for desire, third-person shall for "command")
It's fair to say that you won't go wrong using will instead of shall and only using should in the sense of ought to. However, you may run across these other usages, so it's a good idea to understand them to some degree.