Place the charcoal on one side of the grill, place a pan of water on the other side (under the grilling rack). Fire up the coals, and spread them out once they are white and ashy (about 20 minutes). Place your grilling rack on the grill, and let it sit for about 5 minutes covered.
While the charcoal is getting hot, saute the onion and garlic in butter in a medium saucepan until tender. Stir in the brown sugar, ketchup, vinegar, water, Worcestershire sauce, lemon rind, lemon juice, hot sauce and chili powder. Bring to a boil. Reduce heat and simmer, uncovered for 5 minutes, stirring occasionally. Remove sauce from heat.
Insert the meat thermometer into the thickest part of the roast, making sure it doesn’t touch bone or fat. I usually just insert the thermometer after it has cooked a while to check for doneness. Place the meat (fat side up) on the grill over the pan of water (this will keep your meat moist). Toss some hickory chips over the charcoal to create some great smoke. Cover with the lid, and make sure the vents are open over the meat to draw the heat and smoke towards the meat. Cook over low coals for 3 hours, turning the roast halfway through the cooking time. You will need to add charcoal and hickory chips about every 30-40 minutes to keep the fire and smoke going. I slip them in the side and flick them over to the active charcoal with a tong! After cooking for 3 hours, baste the roast with the sauce. Cover and cook an additional hour or until the thermometer registers 160 degrees. Baste frequently with the sauce.
Let stand 10 to 15 minutes before slicing.
Serve sliced with potato salad or cole slaw, or you can put it on sandwiches.