First of all, if your voltage meter is working correctly, a reading of 12 volts is basically a dead battery but as the mechanic said, if the motor starts, the battery cant be dead.
It sounds to me that there is a wiring issue, perhaps a bad wire, connection, switch etc.
What is your main...