It is too simplistic to say "might have"+past participle is the past of "might".
It's true that "Might have"+past participle is used when we are discussing past events (completed events): e.g. I thought I might have forgotten my key, but then I found it in my pocket or He might have kissed her if he had been brave enough or She might have been the true author of Shakespeare's plays, according to new research.
But "might" is invariant in the past when backshifting the tense of a sentence in order to report speech or past thoughts, etc.
Direct speech: "I may go," she said or "I might go," she said.
Indirect speech: She said that she might go. ("May" usually backshifts to "might". "Might" is invariant when backshifting.)
I think I may go. / I think I might go.
Next day: Yesterday I thought I might go, but in the end I didn't.
It's correct to say that the doubters warned that the project might not work. Contrary to one of the other answers, this observation remains valid (and correct grammar) regardless of whether the project is ongoing and regardless of whether it was in fact completed. For example, it would be perfectly legitimate to write in a history of the Second World War that "people feared that Hitler might invade Britain". (If you wrote "people feared that Hitler might have invaded Britain", that would have a different meaning: it would imply that, at the time of their fear, they feared that he actually might already have invaded. You only use might+perfect where, at the time of the statement being made or possibility being felt, the possibility was already either fulfilled or not fulfilled - even if you don't know which - as in She might have written me a letter, but if she has, I haven't received it yet.)