Prepare a covered barbecue for indirect cooking. For a gas barbecue, heat one burner on medium-high and leave the other burner(s) off. For a charcoal barbecue, build a fire on one side of the charcoal grate, leaving the other side of the barbecue empty, and let burn just until the coals are covered with white ash. Do not spread out the coals.
Line a large heavy rimmed baking tray with foil. Remove all the packaging from the ham. Run a sharp knife down the back of the ham and using your fingers, gently separate the skin from the fat. Run the knife over the fat to lightly score it all over. Place the ham on the tray and set the tray on the side of the barbecue that is off. Close the lid and leave to cook (the barbecue temperature should be about 190°C) for 1½ hours or until a meat thermometer inserted into the thickest part of the ham registers 42°C.
Meanwhile, in a medium heavy saucepan over medium heat, whisk the golden syrup, tomato sauce, butter, mustard, lemon juice, vinegar, Worcestershire sauce, garlic and chilli flakes until the butter melts and the mixture is well blended. Remove the glaze from the heat and set it aside.
When the ham is warmed through, increase the barbecue temperature slightly (so the barbecue temperature reaches 200°C). Using a pastry brush, brush some of the glaze all over the ham. Cook the ham, basting it about every 5 mins with the glaze, for a further 45 mins or until the thickest part of the ham registers 52°C on the meat thermometer and the ham is evenly caramelised.
Remove the ham from the barbecue and set it aside on a carving board for 10 mins to rest. Meanwhile, pour off the juices from the baking tray into a tall and narrow heatproof container and allow the fat to settle to the top. Skim off as much of the fat as possible. In a serving bowl, combine equal parts of the skimmed juices and remaining glaze.
Serve ham with the barbecue sauce.