In a smalll bowl combinechili powder, paprika, sugar, salt, and garlic powder. Rub all over meat and then place in a large ziploc bag and refrigerate over night or up to 24 hours.
Remove brisket from fridge an hour before cooking. Preheat oven to 325 degrees.
Coat bottom of an 8 to 10 quart dutch oven with a thin fil of oil. Set pot over medium high heat and brown on both sides, about 5 to 8 minutes per side. If you don't have a large enough pot, just cut brisket in half and brown in batches.
Transfer meat to a plate. Add onion to pot and saute until lightly colored, about 5 minutes. Pour in 2 cups water and scrape up any brown bits from the bottom of the pan. Return meat and any juices to pot, then place a piece of foil over meat, cover to edges of pot and tucking foil inches Cover pot and transfer to oven; cook for 2 hours. Remove pot and lift foil to turn meat over. If sauce in pan looks dry add 1 cup water. Replace foil and return covered pot to oven for about 1 hour longer. Met should be fork tender, but not falling apart. Meanwhile prepare barbecue sauce. Combine all insauce ingredients in a saucepan and bring to boil, stirring. Remove from heat and let sit until ready to use.
When brisket is tender, remove from oven and discard foil. Tilt pot to remove as much fat a s possible. Pour barbecue sauce over meat and return covered pot to oven until meat is really tender and sauce has reduced, about 30 minutes. Remove from oven and let brisket stand for for 10 to 15 minutes. Slice across the grain and serve with sauce.