The problem is that most Thais have the village habit of just riding around helmetless, and they keep this habit whenever they are in the city, whether long or short-term.
Hit them in the wallet, that's the only thing they will understand. They will never stop riding helmetless in and around the village, but will do once they hit the main roads and cities, where there is most danger, for fear of being pulled over and fined.
A good example of this is the car tax, that pink square with the current year on it. This is systematically checked by the cops and therefore villagers who haven't paid it don't drive on the main roads or in the cities, because they dont want to be fined. Apply that logic to the helmets and I am sure it will work.