I can think of a few things:
1) If the car is new enough (96+ I think), then the transponder in the key is not being read intermittently, possibly?
2) Obviously, if the starter is intermittently bad - which does happen.
3) The starter lock-out relay is faulty at times
4) Or the alarm module is not sending the ground signal to the starter lockout relay it needs to activate the starter.
5) bad connections at starter
If I were working on the car and could not get the problem to occur with me at the shop, I would ask you if I could temporarily install a small light that you could see from inside the car when you were trying to start the engine. Then when the car failed to start, you could tell me if the light came on (meaning the starter had power to it) or did not come on. I would make up a 2 wire harness to a small LED or bulb socket, of course routing it away from anything it could short to, that was tucked under the hood rear edge and could be seen by the driver. One wire to ground and the other to the starter input wire.
If the light came on in the start position and the starter did not engage = bad starter
If the light doesn't come on, then the problem gets more involved.
These are my ideas, hope they make sense, let us know what you find.
PS- I'll be over to your side if the world the end of the month, visiting friends in Devon area. Love going to the UK !