Sounds like the spring mechanism is weak/broken. You can possibly re-bend it in to shape. You need to remove the headrest to get at it. To do this, you need to remove a retaining screw that's in the front of the seat, about 1"/25mm below the top surface. You really need to push the top of the seat down very hard in the middle to access it. Sorry I don't have pic handy to explain this better.
Any chance you can put up a picture of this mysterious screw? From what you say it appears that the screw can be accessed without removing the cover. Is this correct?
When I got my car both the headrests were in the lowest position and jammed there, possibly never been moved since new. With a considerable bit of brute force the did move but the driver's side no longer remains where it is set, always slipping back down to the bottom. The spring clips have obviously lost their set and no longer hold it there.I thought I would slip off the cover on the seat back, release the screw so that I could remove the headrest to get at clips and possibly restore their shape but the cover on the current car is secured by hog rings and these are a ****** to get off and much worse to put back on again - all my previous Saabs had zips. So if I can get at the screw without removing the cover it will make things far easier.
That looks like a Torx screw you're poking in there.
I actually found the section on the seats in the German manual manual I downloaded a while back. It has a picture of the screw but not very good. I did learn that the German for seats is Sitz
I got my headrest fixed at the weekend. I located the screw, removed it and pulled the headrest out of the top. The tangs on the spring were bent so that the didn't locate in the notches in the sliding plate. When I first got the car the headrest was jammed right down. I gave it a good jerk and it came up suddenly banging off the stop at the top. That's probably what bent the spring
Anyway I bent it back to shape and tried to fit it back together. It took me three or four attempts before I worked it out. I removed the plastic housing which the assembly sits in, just a plastic tang to press in on the front of the seat. I fitted the spring so that the tangs were in the notches corresponding to the headrest in the highest position, i.e. the lowest pair of notches, fitted the headrest with the spring into the housing, then slid the assembly gently back into place. The tricky bit was getting the screw back in so that it secured the spring as well as the headrest. It has to be screwed in pointing upwards at about 45 degrees. Once that was done it all works properly and the headrest stays where it is put.