A
diesel needs 3 things to start.
Fuel,
compression and enough compression pressure to raise the air temp to above ignition temperature. You loose compression from valves, rings, stuck open compression release and the
engine turning over too slowly. If you have a compression release, I would check that 1st. If the mechanic is right and you have
no compression then it's a major opening, like a stuck open valve or totally worn out rings/cylinder, burnt valve, valve way out of adjustment. If it's low compression, it can be rings contracting while sitting in cold
weather.
Removing the injector and squirting
oil in the cylinder will help seal the rings. Heat will help starting. Either a block
heater (best) or
heating incoming air can help the
engine reach ignition temperature.
If you've been using starting fluid it could be broken rings. Ether raises compression above normal. If too much is used the very high pressures will break the rings leading to even more
lost pressure.