Preheat oven to 350 degrees. Cover ham with a large piece of parchment and then foil. Place ham, widest side down, on a heavy rimmed baking sheet. Bake for 1 hour.
Heat marmalade, Madeira or sherry, lemon juice, and juice of 1/2 orange in a saucepan over medium heat until runny, about 5 minutes.
Remove ham from oven, and uncover. Score ham all over in a diamond pattern. Brush 1/2 of the glaze over ham. Thinly slice remaining 1/2 orange, and arrange slices over glaze, covering the ham.
Increase temperature to 425 degrees. Bake ham, uncovered, for 20 minutes. Brush with remaining glaze, and bake until golden brown, 10 to 15 minutes more. Let rest for 15 to 30 minutes before slicing. Top with orange slices, and serve.