Put oven rack in middle position and preheat oven to 475°F.
Stir together salt, coriander, cumin, and pepper. Pat duck dry and sprinkle inside and out with spice mixture. Cut 1 half of orange into quarters and put in duck cavity with thyme, marjoram, parsley, and 4 onion wedges.
Squeeze juice from remaining half of orange and stir together with wine and stock. Set aside.
Spread remaining 4 onion wedges in roasting flame-proof roasting pan with carrot and celery, then place duck on top of vegetables and roast 30 minutes.
Pour wine mixture into roasting pan and reduce oven temperature to 350°F. Continue to roast duck until thermometer inserted into a thigh (close to but not touching bone) registers 170°F, 1 to 1 1/4 hours more. Turn on broiler and broil duck 3 to 4 inches from heat until top is golden brown, about 3 minutes.
Tilt duck to drain juices from cavity into pan and transfer duck to a cutting board, reserving juices in pan. Let duck stand 15 minutes.
While duck roasts, cook sugar in a dry 1-quart heavy saucepan over moderate heat, undisturbed, until it begins to melt. Continue to cook, stirring occasionally with a fork, until sugar melts into a deep golden caramel. Add orange juice, vinegar, and salt (use caution; mixture will bubble and steam vigorously) and simmer over low heat, stirring occasionally, until caramel is dissolved. Remove syrup from heat.
Discard vegetables from roasting pan and pour pan juices through a fine-mesh sieve into a 1-quart glass measure or bowl, then skim off and discard fat. Add enough stock to pan juices to total 1 cup liquid.
Stir together butter and flour to form a beurre manié. Bring pan juices to a simmer in a 1- to 2-quart heavy saucepan, then add beurre manié, whisking constantly to prevent lumps. Add orange syrup and zest and simmer, whisking occasionally, until sauce is thickened slightly and zest is tender, about 5 minutes. Serve with duck.