For the candied walnuts, preheat the oven to 350 degrees F. In a medium sized bowl, mix together the sugar, cayenne and salt. Bring a small saucepan of water to boil. Add the walnuts and blanch them for 3 minutes. Drain well and then immediately roll the walnuts in the sugar mixture until thoroughly coated. The sugar will melt slightly. Transfer the walnuts to a baking sheet or pan and bake, stirring occasionally, until they are a deep golden brown, about 10 minutes. Watch carefully because the sugar can burn easily. Let cool completely before serving.
To make the pork loin, combine parsley, rosemary and scallions in a bowl; mix well and set aside. Season pork loin on all sides with salt and pepper. With a paring knife, make about 25 incisions all over the pork and fill with parsley, rosemary and scallion mixture. Roll pork roast in flour to cover. Heat olive oil over medium heat in 5 to 7 quart Dutch Oven. Brown pork on all sides, about 5 to 8 minutes. Remove roast from pan, degrease pan and deglaze with ¼ cup Marsala wine.
Place roast in Dutch Oven along with the remaining Marsala wine and beef broth. Cook uncovered for approximately 25 minutes or internal temperature in center reaches 148 degrees F. Remove roast when done and allow to rest for 15 minutes before slicing.
In large 12 to 15 inch sauté pan, add ¼ cup extra virgin olive oil, 2 tablespoons butter and heat until butter is almost browning. Add cipollini onions, season salt and pepper and continue to sauté for about 8 to 10 minutes. When onions begin to caramelize, add fresh apricots and continue to cook over medium heat. Toss apricots and onions together until both have color. Apricots should be soft, have color but not mushy; set aside.
When roast has rested, cut into ½-inch to 1-inch thick slices. Garnish with apricots and cipollini onions. Top with candied walnuts and fresh chopped parsley. Pour roasting juices around pork roast and serve.