Preheat the oven to 450 degrees F. Toss the red onion, radishes, thyme, 2 tablespoons olive oil, 3/4 teaspoon salt and a few grinds of pepper on a rimmed baking sheet. Roast until tender, 20 to 25 minutes.
Season the halibut with salt and arrange over the roasted vegetables. Brush with the remaining 1 tablespoon olive oil. Bake until the halibut is just cooked through, about 10 minutes.
Meanwhile, combine the blood orange juice, grapefruit juice and lime juice in a small saucepan and bring to a boil. Reduce to a simmer and cook until reduced to about 1/4 cup, 12 to 15 minutes. Add the heavy cream and simmer until combined. Reduce the heat to low and whisk in the butter, one piece at a time, waiting until the butter is emulsified before adding the next piece. Season with salt. Keep warm over very low heat until ready to serve.
Peel the whole grapefruit with a paring knife, removing the white pith. Slice between the membranes to remove the segments. Transfer the halibut and vegetables to a platter with a spatula and scatter the grapefruit segments around them. Drizzle with the citrus butter.