I'll try to rewrite them a bit to help see the difference. These are just examples based on your phrase, and not meant to define all usages of the words in question.
hadn't
She began working on the play, but after 4 years of drafts and rewrites she still hadn't come up with a workable plot. So I had to hire another person to write the play.
This action is at some time in the past. Its likely something else occured since then.
hasn't
She began working on the play, but after 4 years of drafts and rewrites she still hasn't come up with a workable plot. I will talk with her to see what the problem is.
This action is occurring at the present time. But no conclusion yet.
didn't
She began working on the play, but after 4 years of drafts and rewrites she still didn't come up with a workable plot. Finally I just gave up on her.
This action is occurring at the present or recent past. Its a negative conclusion. A different action may follow it.
couldn't
She began working on the play, but after 4 years of drafts and rewrites she still couldn't come up with a workable plot. She told me she would do some additional coursework to get more insight on how to complete the project.
As Damkerng T. commented, this has to do with ability. It may be a matter of skill or effort.