Butter a 2-quart shallow ceramic flameproof baking dish. Cook asparagus in a 6-quart pot of boiling slated water, uncovered until crisp-tender, about 4 minutes. Drain and transfer to baking dish keep warm by tightly covering with foil.
Meanwhile, heat oil and butter in a skillet over high heat until foam subsides, then cook shallots, stirring occasionally, until pale golden. Add bread and pine nuts and cook, stirring, until browned in spots. Transfer to a bowl and add pepper, ½ cup Parmesan, and ¼ tsp of salt.
Preheat broiler. Toss warm asparagus with mascarpone, remaining Parmesan, and remaining salt until combined well. Sprinkle bread-crumb mixture evenly over asparagus. Broil 5 to 7 inches from heat until topping is golden brow, 1 to 2 minutes.