About ten 10- to 12-inch metal or wooden skewers (wooden skewers should be soaked in water for 30 minutes before using)
For the barbecue sauce: Heat the oil in a small saucepan over medium-high heat. Add the onion and cook, stirring occasionally, until golden, about 6 minutes. Add the orange juice and simmer until slightly reduced, about 5 minutes. Add the ketchup, sugar and Worcestershire and return to a simmer. Cook until slightly thickened and the onions are tender, about 10 minutes. Puree until smooth in a food processor. Transfer to a bowl and cool completely.
Make the kebabs: Cut the steak into approximately 1-inch cubes. If there are parts of the meat that are significantly thinner, cut those into longer pieces that can be folded together when skewered. Toss the steak with about 1/2 cup of the barbecue sauce in a medium bowl and marinate in the refrigerator at least 1 hour and up to 4 hours.
Preheat the grill to medium-high. Skewer the meat, alternating with tomatoes, scallions, and orange pieces on ten 10- to 12-inch metal or wooden skewers. Sprinkle with salt and pepper. Set aside about 1/4 cup of the barbecue sauce and use it to brush all over the skewers. Reserve the remaining sauce for serving.
Grill the skewers, turning 2 or 3 times, until well-marked and cooked to desired doneness, 5 to 6 minutes total for medium rare. Serve the skewers with the reserved barbecue sauce on the side. Any remaining barbecue can be kept refrigerated for up to 2 weeks.