SHELL and devein shrimp, reserving shells. Melt butter in large saucepan. Add the shrimp shells; cook, stirring until they turn pink. Add water, bring to a boil. Cover; simmer 5 minutes. Strain into large bowl; discard shells. Add more water, if necessary, to make 4 cups stock.
HEAT annatto oil in same large saucepan over medium heat. Add onion, garlic, pepper, 2 tablespoons cilantro, oregano and thyme; cook, stirring occasionally for about 3 minutes or until onion is tender. Add potatoes and shrimp stock. Cover saucepan; simmer about 30 minutes or until potatoes are tender.
MEANWHILE, rinse fish, pat dry with paper towels. Season with salt and pepper to taste. Place flour on plate. Pass fish through flour to coat on both sides. Heat vegetable oil in large skillet. Cook fish slices until lightly browned on both sides (about 3 minutes per side).
ADD corn to soup; simmer for 5 additional minutes. Add milk and cheese. Stir until cheese is melted. Season with salt and black pepper. (Soup should be the consistency of heavy cream. Add more milk or water, if too thick.)
FOLD in shrimp and fish. Cover; cook over low heat for about 3 minutes or until shrimp turn pink and begin to curl.
TO SERVE: Ladle soup into 6 bowls with 2 slices of fish, several shrimp and potatoes and 1 corn piece per serving. Top with remaining cilantro and slices of hard boiled eggs. Squeeze 1 lime wedge into soup, if desired.
* NOTE: You can make annatto oil by heating 2 tablespoons annatto (achiote) seeds in 1/2 cup olive or vegetable oil over low heat for 3 to 5 minutes, stirring occasionally until oil turns bright orange. Store in small jar or container. Or, you can substitute 2 tablespoons olive or vegetable oil combined with 1 teaspoon ground annatto or sweet paprika for the 2 tablespoons annatto oil.