Jovanche.
Your hot starts are not unusually prolonged to my way of thinking. There's a rattle for a few seconds after firing, but it's an old engine and the oil has drained back faster than it would in a new engine.
Your cold starts are a different matter. I have the same engine and the ambient temperature here is much the same as where you are, however my engine fires after turning over for less than three seconds. I suggest you investigate:
[1] The compression pressures. A worn engine takes time to develop enough compression to ignite the mixture.
[2] The two fuel pumps. Worn pumps can allow fuel to drain back to the tank, hence it takes time to refill the injectors.
[3] The temperature sensor and heater plugs. Your mechanic's theory about the lack of a cold signal to initiate the heaters is perfectly feasible, though it is not something I have come across.