My Diversion suffered similarly: I traced the fault, after going through carbs, ignition etc, to a blocked vent in the tank cap. There is a membrane valve in the cap which I guess is intended to prevent the vent leaking fuel after an accident (or possibly rain ingress) but it was working rather too well! I hesitate to recommend my course of action which was to remove the valve but there have been no problems since. Ride safely.