What is the immobiliser code reported by your Carly code reader?
If the cam sensor is faulty then it may well trigger and set a phantom fault code.
As I understand your posts.
28th Jan = engine started and ran, but spanner light remained on, codes P0340 cam sensor and P0180 phantom code present.
29th Jan = engine starts but cuts out after 2secs, the spanner light is still on? Is/was P0340 still present?
3rd Feb = fault codes cleared and now get code Pnnnn?, is the spanner light still on?
Alos key buttons don't work / have never worked.
Given that the engine ran on the 28th then the immobiliser and the key transponder must have been working on the 28th. Did you do anything else to the ECU other than reset the fault code? I guess not. The transponders programmed into the ECU are not lost if you remove the battery even for an extended period, so they should still work.
However if you pumped old stale fuel it might still be that the fuel pump is gummed up or weak.
If the keys are original then the key fob bit might need to have the battery holder re-soldered to the circuit board. And/or new switches soldered to the circuit boards or it might be that the fobs work but need re-syncing to the central locking. The latter procedure is in the owners manual.