A sensor detects the heat from the pilot light - if the flame is weak then the sensor does not give the right level of signal to the control board.
The control board might be broken - the best check is to see if the control board is calling for the main gas valve to open - either it is or it isn't - you may have a failing Gas Valve or a defective PCB or a weak pilot flame or a defective pilot flame sensor.
Get yourself a more reliable tradesman to solve your boiler problem - the one who said that it was all OK is obviously on a different planet - in the mean time you can use the immersion heater for hot water.
Good luck...
Peccavi
June 2013