Bring a large pot three-fourths full of water to a boil over high heat. Add ribs, reduce heat to medium and simmer uncovered, skimming off any foam that gathers on the surface, until meat is easily pierced with the tines of a fork and is starting to pull away from the bones, about 1 1/2 hours.
Using a wire skimmer, transfer ribs to a large platter and pat dry. Reserve cooking liquid.
In a large saucepan over medium-high heat, warm oil. When oil is hot, add onion and sauté until translucent, 2 to 3 minutes. Stir in garlic and sauté briefly, then add ketchup, mustard, brown sugar, sherry, vinegar, Worcestershire sauce, red pepper flakes and black pepper, and mix well. Add several tablespoons of the reserved cooking liquid to make a sauce with the consistency of heavy cream. Taste and adjust seasoning with salt.
Arrange cooked ribs in a single layer in a shallow baking dish. Pour sauce over them and turn them several times to coat. Let stand at room temperature for at least 30 minutes or up to 2 hours.
Build a hot fire in a wood or charcoal grill or preheat a gas grill to high.
When the fire is ready, rub the grill rack with oil. Remove ribs from sauce, reserving sauce. Place ribs directly over the fire and cook until the first side is well seared and beginning to brown on the edges, about 4 minutes, basting with reserved sauce. Turn ribs and cook the same way on the second side, again basting with sauce. Transfer ribs to a platter and serve hot.