Preheat the oven to 350 degrees F. In a large pot, melt the butter with the oil over medium heat. Add in the red onion, garlic, and green chile and saute until tender, approximately 2 minutes. Sprinkle over the curry powder and all of the flour, stirring to create a roux. Whisk to remove the lumps, and cook the flour for approximately 1 minute. Slowly pour in the milk while whisking to create a curried creamy sauce over low heat. Bring the sauce to a simmer, and continue whisking for 2 minutes. Remove the pot from the heat, discard the green chile, and add 2 cups grated Provolone, and stir until smooth. Add the cooked macaroni to the curry sauce, mix until evenly coated, and season with salt. Transfer the macaroni mixture to a 9 by 9-inch baking dish. Sprinkle the top with 1/4 cup bread crumbs and 1/4 cup cheese. Arrange the asparagus in a line over the macaroni. Sprinkle the remaining 1/4 cup bread crumbs and cheese over the asparagus, and bake for 30 to 40 minutes, or until the top is golden brown.