I recently experienced difficulty with my P38... I could unlock the drivers side door only with the key (not the remote) but when the key was in the ignition a range of messages appeared which included 'keycode lockout' and 'engine immobilised'.
A very helpful man from the AA came along, checked if battery was flat (it wasn't) then he tried resetting the computer/s by disconnecting and reconnecting the battery (this too made no difference); then he informed me that this type of problem is not unusual on this particular car-park (Asda Brierley Hill, West Midlands).
He added that interference from various radio masts and cameras was considered to be a common problem for some cars in the location (he also mentioned other places in the local area which also seemed to cause similar problems). I had heard similar reports in the past but didn't really believe them at the time....
He then towed the vehicle to a new location (about 500-600 yards away) and to my amazement (and great relief) the fault messages had disappeared from the dash and it started on first turn of the key.
This may not be the same problem that you have but if it is then a short tow would be cheaper than locksmiths and new locks..
I am a relatively new member and this is the first time I have posted a reply message on this site....Hope the above info will help.