have you run a compression test?
In some cases there is a lack of oil in the piston rings which can cause a lack of compression, How this is cured, is to remove the sparkplugs, put a couple of squirts of engine oil down each pot, then turn the engine over without the sparkplugs in, this throws out the excessive oil whilst oiling the cylinders and rings.
Replace the plugs and start the engine..
there will be a lot of smoke but it will burn off so dont panic, its worth a try if your out of options.