Heat a large heavy stockpot or Dutch oven, over medium heat. When the pan is hot, add the flour, and stir until the flour turns starts to turn light beige, about 2 minutes. Turn the flour out of the pan onto a plate.
In the same pot, heat the oil over medium heat. Add the onions and sauté until slightly softened about 4 minutes. Add the bell pepper and garlic and sauté until the vegetables are all tender, about 4 more minutes. Add the tomatoes and their juices, partially cover, and bring to a simmer. Adjust the heat so that the tomatoes keep at a simmer, and cook for another 10 minutes, partially covered, stirring occasionally, until the tomatoes are soft and soupy.
Add the broth and return the mixture to a simmer. Stir in half of the parsley and half of the scallions.
Add the shrimp and hearts of palm to the pot with the tomato broth mixture, season with salt and pepper and stir. Sprinkle the flour very gradually over the cooking shrimp and tomatoes, stirring constantly, until all of the flour is incorporated. Cook, stirring occasionally, until the mixture is thickened and the shrimp are almost cooked through, about 4 minutes.
Stir in the remaining parsley and scallions, and the cilantro and cook for 1 more minute. Serve over white rice.