If it's any help, my next door neighbout had this problem yesterday afternoon with his Citroen ZX and to make matters worse, the steering lock was "locked" on too.
Beleive me, it was a bitch of a job to sort. Anyway, to cut to the chase, a small screw had worked it's way loose inside the ignition barrel and after 3hrs of fiddling the brute force method was applied. We got the lock off, but will have to replace the barrel in the morning. I doesn't have a keycode immob, so I guess it's just a barrel and new key.
If you can get the barrel out, it may be worn and components have worked loose. Before you attack it, try a spare key?