Place the ribs in a large baking dish. Pour in Dr. Pepper and cover them, reserving at least 1/2 cup for the sauce. Add he salt and soak the ribs in fridge overnight (or at least 2 hours).
Heat the oven to 350°F Remove the ribs from the liquid, dry them, and rub with the chili powder. Place them on a baking dish, add 1 cup of water, and cover tightly with foil. Cook for 2 hours, until the meat nearly falls off the bone.
For BBQ Sauce: Heat the oil in saucepan over medium heat. Saute the onion and garlic until they're soft and fragrant and add the ketchup, Worcestershire, vinegar, cayenne and 1/2 cup of Dr. Pepper. Simmer for 15 to 20 minutes, or until the sauce thickens.
Fire up the grill, and brush the ribs with sauce. When the grill is hot, cook them bone side down on a cooler part for 10 to 15 minutes. Flip them and cook until lightly charred and smoky.