Place a 6-quart stock pot over medium heat; add canola oil. When hot, add Canadian bacon. Cook, stirring occasionally, until very lightly browned, about 4 minutes. Add onions, carrots, and celery; cook, stirring occasionally, until vegetables are soft, about 5 minutes.
Add flour and whisk for 2 minutes. Gradually add water while whisking to prevent lumps from forming.
Add potatoes, bay leaf, thyme, cayenne pepper, and black pepper. Bring to a simmer. Continue simmering uncovered, until potatoes are tender, 15 to 20 minutes.
Meanwhile, in a 2-quart saucepan, heat 3 tablespoons canola oil over medium heat. Add 5 tablespoons of flour, whisk while cooking for about 3 minutes. Do not allow to brown. Gradually add preheated milk, whisking smooth between additions and until thickened and smooth.
To the stock pot with vegetables, add fish; cook another 3 minutes. Remove bay leaf and add milk mixture, stir to incorporate, and return to a simmer. Remove from heat, add salt and pepper to taste, stir in Madeira, sprinkle with minced parsley and serve.