I wonder if somehow, previous owner, or a shop, had to remove the cylinder and somehow re-inserted it with incorrect orientation which is now throwing off the slide switch at the base of the whole cylinder. I had mine apart today (the usual lube maintenance) and was taking a good look at the separate pieces from the very base, the cylinder itself and the cover with the transponder.
It could very well be electrical, but the OP keeps mentioning (at least I'm reading it this way) that the cylinder springs back which is why he has to hold the key in place. It seems to me that it's just not lining up how it should. Hard to say without removing the cylinder and re-inserting it by lining up both the slot at bottom of the cylinder and the slot at the base where the cylinder goes into.
http://saabworld.net/showthread.php?t=26395