Preheat oven to 350 degrees.
Place oil, onion, chopped garlic, cumin cayenne pepper in a dutch.
Cook over low heat while stirring for 5 minutes. Add the remaining ingredients. Simmer for 10 minutes. Remove from heat. Set aside.
Line a roasting pan with foil. Season pork loin with salt and pepper. Place in the roasting pan.
Spoon 1 cup of the barbecue sauce over pork. Place in oven.
Baste with additional sauce every 20 minutes until roast is done and all sauce is used, about 1 1/2 hours or until the center of roast has reached a temperature of 155 degrees.
Let roast rest 15 to 20 minutes, loosely covered with aluminum foil. Place pan juices in a bowl and set aside for 5 minutes.
Skim off any fat that rises on top.
Stir in any natural juices that are released from pork roast. Heat sauce and serve alongside pork.
Remove any fat. Slice the roast. Serve with the sauce.