Wash the ham well. In a large pot or roaster on the stove top place the ham skin side down, add the halved onion, then pour the cola over the ham. Bring to a boil, Reduce to simmer, put the lid on and cook for 2 1/2 hours.
Preheat grill to 500. Remove the ham from the pot, reserve the liquid. Let the ham cool a little. Score the ham skin in diamond shapes and add the cloves in each of the cuts.
In a small bowl mix the barbecue sauce,molasses,mustard and sugar blend well.Spread the sauce over the clove trying not to knock them off! Cook on the grill for 10 minutes or until it turns a darker brown shade and bubbly. Remove from the grill and set aside. Strain the onion from the liquid, simmer to reduce liquid and serve with ham.