Stir together brown sugar, chili powder, paprika, garlic powder, salt, black pepper and cayenne in a small bowl.
Rub spice mixture all over the pork shoulder. Wrap pork in plastic wrap, and refrigerate for several hours or preferably overnight.
Place the pork in a deep pan or pot on top of the onion slices. Roast until fork tender and falling apart, about 7 hours. Remove pork from the pot and set it on a cutting board or ceramic pan.
Place a large pot on the stove over medium-high heat and add 1/2 to 1 cup hot water. Scrape the pork pan and place the bits in the pot. Cook for 5 minutes to reduce. Pour in barbecue sauce and stir to heat.
Shred meat with two forks and toss into the barbecue sauce pot. Stir until mixed. Serve on hot rolls or hamburger buns.