This seems to be a common problem I've encountered when dealing with k-series engines.
The first time it happened was in my ke70 i had a few years back. To fix it i got an auto electrician to wire in a relay for the starter motor. The problem was fixed and never came back. I think the problem is that the starter motor isnt getting enough current to actuate the solenoid. THe second time i encountered the problem is my current car, my 5k ke20 and its only just started doing the same thing. I'm just living with it at the moment cause I'm lazy :)
hmm but you say youve already been to an auto electrician that put in a relay so the problem might be somewhere different to mine.